Note: The other languages of the website are Google-translated. Back to English
English English

Hoe automatisch de huidige datum / tijd in een cel toevoegen / invoeren door te dubbelklikken in Excel?

Als u de huidige datum of datum-tijd regelmatig in een werkblad moet invoegen, kunt u de methode in dit artikel proberen. Dit artikel helpt u om automatisch de huidige datum of datumtand toe te voegen of in te voeren in een opgegeven bereikcellen door alleen te dubbelklikken.

Dubbelklik om automatisch de huidige datum of datumtijd toe te voegen / in te voeren met VBA-code


Dubbelklik om automatisch de huidige datum of datumtijd toe te voegen / in te voeren met VBA-code


U kunt de onderstaande VBA-code uitvoeren om automatisch de huidige datum of datumtijd in een cel toe te voegen door te dubbelklikken. Ga als volgt te werk.

1. Klik met de rechtermuisknop op het tabblad Blad waarvan u de huidige datum in de opgegeven cellen wilt invoegen, en selecteer Bekijk code vanuit het rechtsklikmenu.

2. In de Microsoft Visual Basic voor toepassingen -venster, kopieer en plak de onderstaande VBA-code in het codevenster.

VBA-code: dubbelklik om de huidige datum aan een cel toe te voegen

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("A1:B10")) Is Nothing Then
        Cancel = True
        Target.Formula = Date
    End If
End Sub

Opmerkingen:

1. In de code is A1: B10 het bereik waaraan u de huidige datum wilt toevoegen.
2. Als u de huidige datum en tijd in de cel moet toevoegen, vervangt u Datum die al met Countr werken Nu() in de code. U kunt ze naar behoefte wijzigen.

3. druk op anders + Q toetsen tegelijk om het Microsoft Visual Basic voor toepassingen venster en keer terug naar het werkblad.

Vanaf nu, wanneer u dubbelklikt op een cel in het opgegeven bereik A1: B10. De huidige datum of tijd wordt automatisch ingevoerd.


Gerelateerde artikelen:


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. Gratis proefperiode van 30 dagen met volledige functies. 60 dagen 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!
officetab onderkant
Comments (28)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Hoe breiden we dit uit om meer celbereik toe te voegen? Ik heb deze extra cellen toegevoegd aan de code: (Target, Range ("C10:C19", "D10:D19", "E10:E19")) maar het geeft me een compileerfout met de melding "verkeerd aantal argumenten of ongeldige eigenschapstoewijzingen" en markeert vervolgens de eerste regel code die u hebt opgegeven "Private Sub Worksheet_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)" Help me alstublieft.
Deze opmerking is gemaakt door de moderator op de site
Joel, weet niet of je nog steeds op zoek bent naar een oplossing, maar je moet je code wijzigen:

Van: (Doel, Bereik ("C10:C19", "D10:D19", "E10:E19"))
Aan: (Doel, Bereik ("C10:C19,D10:D19,E10:E19"))

Dit zal het voor je doen.
Deze opmerking is gemaakt door de moderator op de site
Hallo Nick,
Ik zou graag wat advies van je krijgen over dit onderwerp....
Ik heb een bestand dat ik "productiviteitsblad" noem... Op dit blad wil ik de werkelijke tijd invoegen, in geselecteerde cellen, wanneer op de cel wordt geklikt... (Indien mogelijk, zou ik deze cellen willen nadat de tijd onveranderlijk lijkt te worden ..... zoiets als vergrendeld te zijn.)
Ik waardeer uw tijd en bij voorbaat dank
Attila, Hongarije
exyzee@gmail.com
Deze opmerking is gemaakt door de moderator op de site
Beste Attila,
Probeer de onderstaande schermafbeelding om de werkelijke tijd tot cel in een bepaald bereik in te voegen wanneer erop wordt geklikt.
(De automatisch vergrendelende cellenfunctie kan niet worden bereikt, sorry daarvoor)

Privé subwerkblad_SelectionChange (ByVal-doel als bereik)
Application.ScreenUpdating = False
Als niet snijden (doel, bereik ("A1: B10")) is niets dan
Annuleren = Waar
Doel.Formule = Datum
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
De code werkt echt... Dank je... ik heb nog een code toegevoegd om de cel te beschermen na het invoeren van gegevens. Nu is het probleem dat, zodra ik de gegevens invoer en de cel is beveiligd en als ik per ongeluk dubbelklik op de beveiligde cel, de bovenstaande code voor het hele blad fout gaat. Het lukt dan niet. Ik moet de beveiliging van het blad opheffen om de code live te brengen. Elke oplossing?

De gebruikte beschermingscode staat hieronder:

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Dim xRg als bereik
On Error Resume Next
Set xRg = Intersect(Bereik("A1:a1000,b1:b1000,G1:G1000"), Doel)
Als xRg niets is, sluit dan Sub af
Target.Worksheet.Unprotect Wachtwoord:="123"
xRg.Locked = waar
Doel.Werkblad.Bescherm wachtwoord:="123"
End Sub
Deze opmerking is gemaakt door de moderator op de site
Beste Paul,
Ik probeer de code die je hebt opgegeven. Het hele werkblad wordt onmiddellijk beschermd zodra ik gegevens in een van de opgegeven beveiligde cellen invoer.
Trouwens, als ik dubbelklik op de beveiligde cel, verandert er in mijn geval niets aan de code.
Kun je uitleggen wat je precies probeert te doen met de code?
Deze opmerking is gemaakt door de moderator op de site
Sorry ik snap je punt. (mis de bovenstaande code)
Deze opmerking is gemaakt door de moderator op de site
De aangemaakte dubbelklik-invoercode is:


Privé subwerkblad_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Indien niet snijden (doel, bereik ("A1:a1000")) is dan niets
Annuleren = Waar
Doel.Formule = Datum
End If

Indien niet snijden (doel, bereik ("b1:b1000")) is dan niets
Annuleren = Waar
Doel.Formule = Tijd
End If

Indien niet snijden (doel, bereik ("g1:g1000")) is dan niets
Annuleren = Waar
Doel.Formule = Tijd
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Beste Paul,
Probeer de volgende VBA-code.

Particulier subwerkblad_Wijziging (ByVal-doel als bereik)
Dim xRg als bereik
On Error Resume Next
Set xRg = Intersect(Bereik("A1:a1000,b1:b1000,G1:G1000"), Doel)
Als xRg niets is, sluit dan Sub af
Target.Worksheet.Unprotect Wachtwoord:="123"
xRg.Locked = waar
Doel.Werkblad.Bescherm wachtwoord:="123"
End Sub

Privé subwerkblad_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Application.EnableEvents = False
ActiveSheet.Unprotect wachtwoord:="123"
Indien niet snijden (doel, bereik ("A1:a1000")) is dan niets
Annuleren = Waar
Doel.Formule = Datum
End If
Indien niet snijden (doel, bereik ("b1:b1000")) is dan niets
Annuleren = Waar
Doel.Formule = Tijd
End If
Indien niet snijden (doel, bereik ("g1:g1000")) is dan niets
Annuleren = Waar
Doel.Formule = Tijd
End If
ActiveSheet.Bescherm wachtwoord:="123"
Application.EnableEvents = Waar
End Sub
Deze opmerking is gemaakt door de moderator op de site
Ik heb de code gekopieerd en geplakt om het bereik bij te werken en het werkte niet :-(


Privé subwerkblad_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Als niet snijden (doel, bereik ("B4: B100")) is niets dan
Annuleren = Waar
Doel.Formule = Nu()
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Goede dag,
De code werkt in mijn geval goed. Kunt u mij uw Office-versie vertellen?
Deze opmerking is gemaakt door de moderator op de site
Hallo, de code die je hebt gegeven werkt prima. Ik ben gewoon benieuwd of er een manier is om de tekst "dubbelklik om datum toe te voegen" in de cel totdat de datum is ingevoerd. Bij voorbaat dank (ik probeer mijn document zo gebruiksvriendelijk mogelijk te maken om mijn collega's niet in verwarring te brengen)
Deze opmerking is gemaakt door de moderator op de site
Hallo, de bovenstaande code werkte prima voor mij. Nu vraag ik me af of er een manier is om de tekst "Dubbelklik om datum in te voeren" in de cel te laten verschijnen totdat de datum is ingevoerd. Mijn doel is om het document zo gebruiksvriendelijk mogelijk te maken. Dank u bij voorbaat
Deze opmerking is gemaakt door de moderator op de site
Hallo Travis,
We kunnen de code niet wijzigen zodat tekst rechtstreeks in de cel wordt weergegeven. Maar als alternatief helpt de onderstaande geoptimaliseerde code om de tekst in de celopmerking weer te geven, en de opmerking wordt automatisch verwijderd na dubbelklikken op de cel om de datum in te voeren.

Privé subwerkblad_SelectionChange (ByVal-doel als bereik)
Als niet snijden (doel, bereik ("A1: B10")) is niets dan
Target.NoteText "dubbelklik om datum toe te voegen"
End If
End Sub

Privé subwerkblad_BeforeDoubleClick (ByVal Target As Range, Cancel As Boolean)
Als niet snijden (doel, bereik ("A1: B10")) is niets dan
Annuleren = Waar
Doel.Commentaar.Verwijderen
Doel.Formule = Datum
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Hey daar!

Ik heb de bovenstaande code gekopieerd en geplakt precies zoals deze in een lege werkmap is geschreven, maar het werkt niet voor mij. Ik heb verschillende bronnen op internet bekeken en de meeste sites hebben een vergelijkbare indeling als hierboven. Ik denk dat er misschien iets mis is met mijn VBA of dat sommige instellingen niet zijn ingeschakeld. Om het even welk advies zou zeer gewaardeerd worden. Ik gebruik Excel voor Office 365 MSO (16.0.11001.20097) 32-bits op Windows 10.
Deze opmerking is gemaakt door de moderator op de site
Ik hou van de code en het werkt geweldig. Hoe kan ik ervoor zorgen dat wanneer ik dubbelklik om de code uit te voeren, de tijd in militaire tijd wordt weergegeven?
Deze opmerking is gemaakt door de moderator op de site
Hi Dylan,
Sorry kan je daar nog niet mee helpen. Bedankt voor je reactie.
Deze opmerking is gemaakt door de moderator op de site
Ik denk dat als je het militaire tijdformaat voor die cel selecteert in de opties Opmaak -> Getal -> Tijd in je blad, dat zou moeten werken. Het geeft bijvoorbeeld de optie van 1 uur of 30 uur, dus je zou gewoon 13 uur selecteren en dat zou het moeten doen.
Deze opmerking is gemaakt door de moderator op de site
Ik zou denken dat als je gewoon het militaire tijdformaat voor die cel selecteert uit de Getal -> Tijdnotatie-opties dat het zou moeten doen. U zou bijvoorbeeld 13:30 selecteren in plaats van 1:30 uur, en dan zou het in militaire tijd moeten worden weergegeven.
Deze opmerking is gemaakt door de moderator op de site
Weet iemand of er een manier is om deze code in Excel Online in te voegen? Ik had het gebruikt met de desktopversie en het werkte prima, maar nu hebben we alles naar het online platform gemigreerd en mijn datum- en tijdstempels bij dubbelklikken zijn verdwenen en ik weet niet hoe ik de code moet bekijken of bewerken. Bedankt.
Deze opmerking is gemaakt door de moderator op de site
Dus ik heb code ingevoegd en het werkt geweldig op verschillende bladen in mijn werkmap, maar op sommige bladen stopt het gewoon plotseling met werken na een bepaalde rij, ook al heb ik het juiste bereik ingevoerd. Om het even welke gedachten over waarom dit zou kunnen gebeuren.
Deze opmerking is gemaakt door de moderator op de site
Dit was precies wat ik zocht - dit bespaart een hoop tijd en ik waardeer de goed geschreven instructies. Dank u!
Deze opmerking is gemaakt door de moderator op de site
Hallo daar, de code heeft veel voor mij gedaan, hoe kan ik ervoor zorgen dat de code alleen werkt als het veld leeg is. Als er al een datum in de cel staat, zou dubbelklikken niets moeten doen, groeten
Deze opmerking is gemaakt door de moderator op de site
Hallo Ahmad,
Sorry voor de moeite. Om alleen de lege cellen met datums in te vullen met dubbelklikken, kunt u de volgende VBA-code toepassen om dit voor elkaar te krijgen.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updated by Extendoffice 20220609
    If Not Intersect(Target, Range("B1:C20")) Is Nothing Then
        If Target.Value = "" Then
            Cancel = True
            Target.Formula = Date
        End If
    End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Deze functie werkte niet. Dubbelklikken voert eenvoudig handmatige bewerking van de cel in.
Deze opmerking is gemaakt door de moderator op de site
Hallo Bob,
De code werkt in mijn geval goed. Ik wil meer specifiek weten over uw probleem, zoals uw Excel-versie.
En de code werkt alleen op de cellen die u hebt opgegeven.
Deze opmerking is gemaakt door de moderator op de site
Dag Allemaal,

Ik probeer die macro te gebruiken om de datumstempel te gebruiken door te dubbelklikken op kolom E en het werkt, maar wanneer ik de macro probeer te repliceren om hetzelfde te doen, maar voor de huidige tijd in kolom F werkt het niet zoals je kunt zien in bijlage die ik heb een foutmelding met de melding: Ambiguous Name Detected.
Wanneer ik het subwerkbladgedeelte probeer te wijzigen voor een andere naam en dubbelklik in de cellen, gebeurt er niets.

Zou iemand mij daarbij kunnen helpen?

Mijn code:


Sub-werkblad_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Indien niet snijden (doel, bereik ("E1:E10000")) is niets dan
Annuleren = Waar
Doel.Formule = Datum
End If
End Sub

Sub-werkblad_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Indien niet snijden (doel, bereik ("F1:F10000")) is dan niets
Annuleren = Waar
Doel.Formule = Nu()
End If
End Sub
Deze opmerking is gemaakt door de moderator op de site
Hallo Louis,
Als u de macro repliceert, worden twee dezelfde procedures met dezelfde naam in een codevenster met één blad veroorzaakt. Excel staat geen twee of meer dezelfde namen van functies toe in een module. Ook niet in Evenementen. Het leidt tot onduidelijkheid.
Als u een andere taak op hetzelfde evenement wilt uitvoeren, moet u de originele code aanpassen aan uw behoeften.
De volgende VBA-code kan u een plezier doen. Probeer het alsjeblieft.
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updated by Extendoffice 20221025
    If Not Intersect(Target, Range("E1:E10000")) Is Nothing Then
        Cancel = True
        Target.Formula = Date
    End If
    If Not Intersect(Target, Range("F1:F10000")) Is Nothing Then
        Cancel = True
        Target.Formula = Date
    End If
End Sub
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties