Note: The other languages of the website are Google-translated. Back to English
English English
  • documenten
  • Excel
  • Hoe de datum en tijd automatisch registreren wanneer de cel verandert?

Hoe de datum en tijd automatisch registreren wanneer de cel verandert?

Het is gemakkelijk voor ons om statische datum en tijd handmatig in te voegen of een dynamische datum in te voegen die verandert met de systeemtijd met een formule. Als u de datum en tijd automatisch wilt opnemen wanneer u waarden wijzigt of invoert, kan dit probleem enigszins afwijken. Maar in dit artikel kunt u deze taak oplossen met de volgende stappen.

Registreer datum en tijd automatisch wanneer de cel verandert met VBA-code

Tabblad Office Bewerking en browsen met tabbladen in Office inschakelen en uw werk veel gemakkelijker maken ...
Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met
80%
  • Hergebruik alles: Voeg de meest gebruikte of complexe formules, grafieken en al het andere toe aan uw favorieten en gebruik ze in de toekomst snel opnieuw.
  • Meer dan 20 tekstfuncties: Nummer uit tekststring halen; Extract of verwijder een deel van teksten; Converteer cijfers en valuta's naar Engelse woorden.
  • Tools samenvoegen: Meerdere werkmappen en bladen in één; Meerdere cellen / rijen / kolommen samenvoegen zonder gegevens te verliezen; Voeg dubbele rijen en som samen.
  • Hulpmiddelen splitsen: Gegevens splitsen in meerdere bladen op basis van waarde; Eén werkmap naar meerdere Excel-, PDF- of CSV-bestanden; Eén kolom naar meerdere kolommen.
  • Plakken overslaan Verborgen / gefilterde rijen; Tel en som op achtergrondkleur; Stuur gepersonaliseerde e-mails in bulk naar meerdere ontvangers.
  • Superfilter: Maak geavanceerde filterschema's en pas deze toe op elk blad Sorteer per week, dag, frequentie en meer; Filteren door vetgedrukt, formules, commentaar ...
  • Meer dan 300 krachtige functies; Werkt met Office 2007-2021 en 365; Ondersteunt alle talen; Eenvoudig te implementeren in uw onderneming of organisatie.

pijl blauw rechts bel Registreer datum en tijd automatisch wanneer de cel verandert met VBA-code

Ik heb bijvoorbeeld een reeks waarden en nu, wanneer ik nieuwe waarden verander of typ in kolom B, wil ik dat de huidige datum en tijd automatisch worden vastgelegd in kolom C zoals in het volgende screenshot:

doc-update-tijd-waarde-veranderingen-1

U kunt deze taak voltooien met de volgende VBA-code. Doe alstublieft als volgt:

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic for Applications-venster.

2. Kies dan aan de linkerkant je gebruikte werkblad Projectverkenner, dubbelklik erop om het Module, en kopieer en plak vervolgens de volgende VBA-code in de lege module:

VBA-code: registreer automatisch datum en tijd wanneer de cel verandert

Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
    Application.EnableEvents = False
    For Each Rng In WorkRng
        If Not VBA.IsEmpty(Rng.Value) Then
            Rng.Offset(0, xOffsetColumn).Value = Now
            Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
        Else
            Rng.Offset(0, xOffsetColumn).ClearContents
        End If
    Next
    Application.EnableEvents = True
End If
End Sub

doc-update-tijd-waarde-veranderingen-1

3. Sla deze code vervolgens op en sluit deze om terug te keren naar het werkblad.Als u nu de celwaarde wijzigt of nieuwe gegevens typt in kolom B, worden de datum en tijd automatisch opgenomen in kolom C.

Opmerkingen:

1. In de bovenstaande code kunt u de “B: B”Naar een andere kolom waarvan u de celwaarden in dit script wilt wijzigen: Set WorkRng = Intersect (Application.ActiveSheet.Range ("B: B"), Target).

2. Met deze xOffsetKolom = 1 script, kunt u de datum en tijd invoegen en bijwerken naar de eerste kolom naast uw kolom met veranderende waarden, u kunt het nummer 1 wijzigen in andere nummers, zoals 2,3,4,5 ... dat betekent dat de datum wordt ingevoegd in de tweede, derde, vierde of vijfde kolom naast de kolom met gewijzigde waarden.

3. Als u een waarde in de gewijzigde kolom verwijdert, worden de datum en tijd ook verwijderd.


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met
80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan
    300
    krachtige functies
    . Ondersteunt Office/Excel
    2007-2019 en 365
    . Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies
    30
    -dag gratis op proef. 60 dagen niet-goed-geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met
    50%
    , en vermindert elke dag honderden muisklikken voor u!
officetab onderkant
Comments (108)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Hoe schrijf je de code om dit meerdere keren op één pagina te doen Bijv. tekst in kolom B, datum in C en tekst in D, datum in E?
Deze opmerking is gemaakt door de moderator op de site
[quote]Hoe schrijf je de code om dit meerdere keren op één pagina te doen Ex. tekst in kolom B, datum in C en tekst in D, datum in E?Door Hilary[/quote] Ik weet dat dit oud is, maar de lange, maar gemakkelijke manier is om de variabelendeclaraties te kopiëren en nieuwe variabelen te maken (dwz WorkRng1 en Rng1). U moet ook de "if"-instructie kopiëren en de variabelen wijzigen in de nieuwe variabelenamen.
Deze opmerking is gemaakt door de moderator op de site
[quote]Hoe schrijf je de code om dit meerdere keren op één pagina te doen Ex. tekst in kolom B, datum in C en tekst in D, datum in E?Door Hilary[/quote] Hier is de code: Private Sub Worksheet_Change (ByVal Target As Range) 'Update 20140722 Dim WorkRng As Range Dim Rng As Range Dim xOffsetColumn As Integer 'Verander het bereik om de kolom te selecteren die u bijwerkt, dat wil zeggen ("A: A") of ("B:B") Set WorkRng = Intersect(Application.ActiveSheet.Range("E:E"), Target) xOffsetColumn = 1 'Voor de tweede keer stempel 'Maak nieuwe variabelenamen, zoals WorkRng1, Rng1, enz. Dim WorkRng1 As Range Dim Rng1 As Range Dim xOffsetColumn1 As Integer Set WorkRng1 = Intersect(Application.ActiveSheet.Range("G:G"), Target) xOffsetColumn1 = 1 'Voor de eerste keer stempel If Not WorkRng Is Nothing Dan Application.EnableEvents = False voor elke Rng in WorkRng Indien niet VBA.IsEmpty (Rng.Value) Dan Rng.Offset (0, xOffsetColumn).Value = Nu Rng.Offset (0, xOffsetColumn).NumberFormat = "mm/dd/ yyyy" Else Rng.Offset(0, xOffsetColumn).ClearContents End If Next Application.EnableEvents = True End If 'Voor de tweede keer stempel If Not WorkRng1 Is Nothing Dan Application.EnableEve nts = False voor elke Rng1 in WorkRng1 Indien niet VBA.IsEmpty(Rng1.Value) Dan Rng1.Offset(0, xOffsetColumn1).Value = Nu Rng1.Offset(0, xOffsetColumn1).NumberFormat = "mm/dd/jjjj" Anders Rng1.Offset(0, xOffsetColumn1).ClearContents End If Next Application.EnableEvents = True End If End Sub
Deze opmerking is gemaakt door de moderator op de site
Wat als ik dit voor een reeks kolommen wil doen?
Deze opmerking is gemaakt door de moderator op de site
verander het bereik (B:B) als volgt: (10:20) voor kolommen 10 tot 20 (D5:D40) voor kolommen 5 tot 40 op rij D Ik hoop dat het helpt.
Deze opmerking is gemaakt door de moderator op de site
Sorry, ik verwissel kolommen met rijen, maar het werkt nog steeds. (D:P) Van kolom D naar P (D5:D5) van kolom D naar P op rij 5
Deze opmerking is gemaakt door de moderator op de site
wanneer ik het opsla, werkt het, maar wanneer ik opnieuw open, werkt het niet
Deze opmerking is gemaakt door de moderator op de site
[quote]wanneer ik het opsla, werkt het, maar wanneer ik het opnieuw open, werkt het nietDoor Aarifi[/quote] Hetzelfde probleem als Aarif... Het werkte een half uur geleden een traktatie, en nu niet... ook, ik wilde alleen de tijd, niet de datum EN tijd, dus ik bewerkte de ".NumberFormat" om gewoon hh:mm:ss, opgeslagen, getest... niet anders... nog steeds de datum en de tijd vermelden...? opende de VB opnieuw, en typte wat afgebakende tekst in, weer opgeslagen, nog steeds niet goed, toen deed ik het een derde keer, en het formaat deed wat het werd verteld en plotseling kreeg ik precies de tijd. HEEL raar Ik heb lang gedacht dat Excell spookt, sinds ik de functie ZOEKEN voor het eerst gebruikte, zoekend naar een waarde in een cel die ik met mijn eigen ogen kon zien, maar Excel hield vol dat het niet bestond!? Zijn er Excel-goeroes of exorcisten die kunnen helpen? waarom negeert het mijn VB en GEEN tijdstempel zoals het deed ...? dankjewel :huilen:
Deze opmerking is gemaakt door de moderator op de site
[quote]Hoe schrijf je de code om dit meerdere keren op één pagina te doen Ex. tekst in kolom B, datum in C en tekst in D, datum in E?Door Hilary[/quote] wat is het antwoord op de quote
Deze opmerking is gemaakt door de moderator op de site
Wat als ik wil dat dit wordt uitgevoerd maar niet op een actief blad staat, dus op de achtergrond uitvoeren en bijwerken wanneer er een vermelding in de B-kolom is?
Deze opmerking is gemaakt door de moderator op de site
Wat als de kolom die de tijdstempelkolom beïnvloedt de som is van meerdere andere kolommen? Bijvoorbeeld... Kolom H is =Sum(E+F+G) en ik zou graag een tijdstempel willen hebben in kolom I elke keer dat kolom H is gewijzigd, of in wezen wanneer kolommen E, F of G zijn gewijzigd . Kunt u alstublieft helpen??
Deze opmerking is gemaakt door de moderator op de site
Ik heb hulp nodig, alsjeblieft! Ik probeer een tijdstempel te krijgen telkens wanneer een van de drie cellen wordt gewijzigd. Ik zou dit idealiter willen doen wanneer de som van deze cellen is gewijzigd. Bijvoorbeeld. Cellen E, F, G worden gewijzigd en cel H is de SOM van die drie cellen. Als cel H is gewijzigd, wil ik dat cel I een tijdstempel krijgt. Is dit mogelijk?? Hartelijk bedankt
Deze opmerking is gemaakt door de moderator op de site
Ik probeer de bovenstaande code uit te voeren; de cel waarvan ik de wijziging wil opnemen, is echter gekoppeld aan een selectievakje en is daarom "TRUE" of "FALSE". Om de een of andere reden zal de code niet werken wanneer de cel verandert. Als ik echter handmatig "ja" invoeg, werkt de code prima. Is er een oplossing voor dit probleem waarvan u op de hoogte bent? Dank u!
Deze opmerking is gemaakt door de moderator op de site
Is het mogelijk om dit te doen voor historische gegevens? Als ik gisteren of een maand geleden wijzigingen heb aangebracht in een cel, kan ik dan een formulier van deze code gebruiken om die datums op te halen?
Deze opmerking is gemaakt door de moderator op de site
Is er een manier om een ​​tijdstempel te maken op basis van een specifieke wijziging? Ik heb bijvoorbeeld een spreadsheet met een kolom met vervolgkeuzemenu's, waaronder leeg zijn, 'Ok' en 'Act'. Wanneer de taak is voltooid, wordt de vervolgkeuzelijst handmatig gebruikt om 'Ok' te selecteren. Ik wil graag dat de datumstempel wordt gekoppeld aan wanneer 'Ok' is geselecteerd, maar niet wanneer 'Act' is geselecteerd. De 'Act'-optie in de vervolgkeuzelijst wordt gebruikt wanneer een taak te laat is, maar ik probeer eigenlijk alleen bij te houden wanneer een item is voltooid. Is er een manier om dit te bereiken met de bovenstaande code? Bedankt!
Deze opmerking is gemaakt door de moderator op de site
Heb je dit kunnen oplossen?
Deze opmerking is gemaakt door de moderator op de site
het is een heel goede vraag. heb je het geregeld, zou je de weg kunnen delen?
bedankt
Deze opmerking is gemaakt door de moderator op de site
Ik kan het bereik wijzigen in ("A:Q"), maar ik heb de datum en tijd nodig om in "S" te gaan als de gegevens in een AQ-cel worden gewijzigd/verwijderd. Ik ben VBA uitgedaagd. Alle hulp wordt zeer op prijs gesteld!
Deze opmerking is gemaakt door de moderator op de site
Sorry, ik heb zojuist een vraag gepost en ik heb hier het antwoord op nodig ... Ik heb deze opmerking waarschijnlijk gemist ... hopelijk kan iemand helpen!
Deze opmerking is gemaakt door de moderator op de site
Hoe verander ik het zodat alleen de aangrenzende celdatum verandert?
Deze opmerking is gemaakt door de moderator op de site
Hoe krijg ik de tijdstempel om op te nemen in een specifieke cel, in plaats van de cel naast de cel die is gewijzigd. Ik probeer een rij met cellen een tijdstempel te geven wanneer er een verandering optreedt in een van die cellen. Ik zou graag willen dat de tijdstempel in één specifieke cel wordt vastgelegd... kan iemand hiermee helpen? Dank u!
Deze opmerking is gemaakt door de moderator op de site
Hallo, Vriendelijk bedankt hiervoor, want het is geweldig voor WB-controleerbaarheid. Is er een manier om dit te wijzigen zodat de datum/tijd ergens op de WB wordt vastgelegd wanneer een opmerking wordt toegevoegd of gewijzigd? Ik weet dat dit een algemene vraag is, maar ik weet niet zeker of het mogelijk is (helaas voor MS 2010 bevat de eigenschap .comment geen datumeigenschap om aan te geven wanneer deze is ingevoerd. Mike
Deze opmerking is gemaakt door de moderator op de site
Hoe kan ik configureren om de A:A-kolom te lezen en een tijdstempel in B:B te geven, alleen als er een 14-cijferig nummer in is ingevoerd?
Deze opmerking is gemaakt door de moderator op de site
Hallo, ik heb wat hulp nodig bij het coderen van VBA. Ik maak een spreadsheet met zaken die aan mensen worden toegewezen en die de status van een zaak hebben. De rechtverkrijgenden zullen in Col H zijn en ik heb een datumstempel in Col I nodig wanneer de cel in Col H wordt bijgewerkt of gewijzigd met een naam. Evenzo zal ik de status van de zaak hebben in Col J en heb ik een datumstempel nodig in Col K wanneer een status wordt ingevoerd of gewijzigd. ook als er een naam of status van een niet-verkrijger is, moet de datumstempel in Kol I en K leeg zijn. Alle hulp zou op prijs worden gesteld. Bedankt
Deze opmerking is gemaakt door de moderator op de site
Ik heb deze code ergens anders gevonden en aangepast voor mijn gebruik. Als het goed is gedaan, hoeft u zich geen zorgen te maken over het invoeren van een functie in een cel of het bestand dat de datums verandert naar de datum van die dag telkens wanneer het wordt geopend. - open Excel - druk op "Alt+F11" - Dubbelklik op het werkblad waarop u de wijziging wilt toepassen (links weergegeven) - kopieer/plak de onderstaande code - pas de Range(_:_) invoer aan zodat deze overeenkomt naar de kolom die u wilt bijwerken - pas de invoer Offset (0,_) aan zodat deze overeenkomt met de kolom waar u de datum wilt weergeven (in de onderstaande versie breng ik updates aan in kolom D en wil ik dat de datum wordt weergegeven in kolom F, vandaar de invoer van "2" voor 2 kolommen vanaf kolom D) - druk op opslaan - herhaal bovenstaande stappen als er andere werkbladen in uw werkmap zijn die dezelfde code nodig hebben - u moet mogelijk de getalnotatie wijzigen van de kolom die de datum naar "Algemeen" en vergroot de breedte van de kolom als er "####" wordt weergegeven nadat u een bijgewerkte invoer hebt gemaakt. Kopieer/plak de onderstaande code: ____________________________________________________________ Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range(" D:D")) Is Niets Dan Verlaat Sub Target.Offset(0, 2) = Datum Einde Sub ___ _________________________________________________________ Veel geluk...
Deze opmerking is gemaakt door de moderator op de site
deze code toont de datum bij het klikken als hij verschijnt, is het mogelijk om de datum alleen weer te geven als de inhoud in de cel wordt gewijzigd, als er alleen op wordt geklikt en er niets is veranderd, wordt de datum niet weergegeven of blijft de eerder ingevoerde datum behouden?
Deze opmerking is gemaakt door de moderator op de site
Wanneer ik in macro een vloocup-formule opneem, dus hoe kan ik die datum automatisch veranderen in 1 dag omhoog Zoals het is 21/07/2017 en de volgende dag wordt het gewijzigd in 22/07/2017 Automatisch delen als er een vba-code is.
Deze opmerking is gemaakt door de moderator op de site
vervang deze regel
Rng.Offset(0, xOffsetColumn).Waarde = Nu

naar
Rng.Offset(0, xOffsetColumn).Waarde = Nu+1
Deze opmerking is gemaakt door de moderator op de site
Heel erg bedankt voor de code! Precies wat ik zocht!!
Deze opmerking is gemaakt door de moderator op de site
Dank u voor uw hulp :-)
Er zijn nog geen reacties geplaatst
Laad meer
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL