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

Hoe een datumstempel in een cel invoegen als een selectievakje in Excel is aangevinkt?

Normaal gesproken voert u een datumstempel in met sneltoetsen in Excel. Hoe zit het met het invoegen van een datumstempel in een cel door een selectievakje in Excel? Wanneer u het selectievakje aanvinkt, wordt de tijdstempel automatisch in een opgegeven cel ingevoegd. Dit artikel helpt je om het op te lossen.

Voeg een datumstempel in een cel in als een selectievakje met VBA-code is aangevinkt


Voeg een datumstempel in een cel in als een selectievakje met VBA-code is aangevinkt

In dit gedeelte wordt een VBA-script geïntroduceerd waarmee u automatisch een datumstempel in een cel kunt invoegen als een selectievakje in Excel is aangevinkt. Ga als volgt te werk.

1. Druk na het invoegen van een selectievakje op anders + F11 toetsen tegelijkertijd om het Microsoft Visual Basic voor toepassingen venster.

2. In de Microsoft Visual Basic voor toepassingen venster klikt Invoegen > Module. Kopieer en plak vervolgens de onderstaande VBA-code in het modulevenster.

VBA-code: voeg een datumstempel in een cel in als een selectievakje is aangevinkt

Sub CheckBox_Date_Stamp()
Dim xChk As CheckBox
Set xChk = ActiveSheet.CheckBoxes(Application.Caller)
With xChk.TopLeftCell.Offset(, 1)
    If xChk.Value = xlOff Then
        .Value = ""
    Else
       .Value = Date
    End If
End With
End Sub

3. druk op anders + Q toetsen om de Microsoft Visual Basic voor toepassingen venster.

4. Klik met de rechtermuisknop op het selectievakje en selecteer Wijs Micro toe vanuit het rechtsklikmenu. Zie screenshot:

5. In de Wijs macro toe dialoogvenster, selecteer CheckBox_Date_Stamp functie in het Macronaam vak en klik vervolgens op het OK knop. Zie screenshot:

Als u het selectievakje aanvinkt, wordt de datumstempel automatisch in de aangrenzende cel ingevoegd.


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-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 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 honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (22)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Bedankt, dit was erg nuttig, ik wil graag opmerken dat ik het handiger vind om de datumstempel links van het selectievakje te hebben. om dit te doen, verander je gewoon de offset in (, -1)
Deze opmerking is gemaakt door de moderator op de site
Is er een manier om dit te doen met de datum EN tijd? Bedankt voor de info in ieder geval!
Deze opmerking is gemaakt door de moderator op de site
Sub CheckBox_Date_Stamp() Dim xChk As CheckBox Set xChk = ActiveSheet.CheckBoxes(Application.Caller) With xChk.TopLeftCell.Offset(, 1) If xChk.Value = xlOff Then .Value = "" Else .Value = Date & " " & Tijd Einde Indien Einde Met Einde Sub
Deze opmerking is gemaakt door de moderator op de site
Hoi,
Pas onderstaande VBA-code toe om datum en tijd toe te voegen.

Sub CheckBox_Date_Stamp()
Dim xChk als selectievakje
Stel xChk = ActiveSheet.CheckBoxes (Application.Caller) in
Met xChk.TopLeftCell.Offset(, 1)
Als xChk.Waarde = xlUit Dan
.Waarde = ""
Anders
.Waarde = Nu()
End If
Eindigt met
End Sub
Deze opmerking is gemaakt door de moderator op de site
HI Ik heb deze formule geprobeerd en het werkte alleen voor A1 en B1 toen ik de macro toepaste op het selectievakje in A1. Toen ik de macro echter toepaste op het selectievakje in A2, gebeurde er niets in B2. En hoe zou de formule worden gewijzigd als ik dit voor een checklist zou willen gebruiken? Als kolom A de selectievakjes waren en kolom C de voltooide datum was.
Deze opmerking is gemaakt door de moderator op de site
Hallo :) je kunt de cel met het selectievakje in A1 naar de rest van de kolom kopiëren. of wijs de macro afzonderlijk toe aan elk selectievakje
Deze opmerking is gemaakt door de moderator op de site
Good Day,
Wijs de macro afzonderlijk toe aan elk selectievakje.
Deze opmerking is gemaakt door de moderator op de site
Ik heb de VBA-code exact gekopieerd en geplakt, maar in mijn spreadsheet verschijnt de datum in de cel boven en rechts van de kolom met selectievakjes, niet in de cel direct rechts. ?
Deze opmerking is gemaakt door de moderator op de site
Ik heb ook precies hetzelfde probleem. "HELP! Ik heb iemand HELP nodig! Niet zomaar iemand HELP! Je weet dat ik iemand HELP nodig heb!
Deze opmerking is gemaakt door de moderator op de site
Goede dag,
De code werkt in mijn geval goed. Nadat u het selectievakje hebt aangevinkt, verschijnt de datum in de cel direct aan de rechterkant. Zou je een screenshot van je case willen maken. En welke Office-versie gebruik je. Dank u.
Deze opmerking is gemaakt door de moderator op de site
Ik had hetzelfde probleem met de datum- en tijdstempel in de cel boven de bedoelde cel (met Excel 2007). Ik ging door en veranderde de "offset" -formule zodat deze over één cel EN één cel omlaag gaat en nu verschijnt de stempel waar ik hem wil: met xChk.TopLeftCell.Offset (1, 1)
Ik ben een werkblad aan het bijwerken dat iemand anders heeft gemaakt en de selectievakjes niet heeft gemaakt, maar het kan te maken hebben met waar in de cel het selectievakje is geplaatst. Ik kreeg verschillende resultaten toen ik het selectievakje met de onderkant van de cel uitlijnde.

Hoop dat het helpt!
Deze opmerking is gemaakt door de moderator op de site
Dit is wat ik deed om dat probleem op te lossen

Sub CheckBox_Date_Stamp()
Dim xChk als selectievakje
Stel xChk = ActiveSheet.CheckBoxes (Application.Caller) in
Met xChk.TopLeftCell.Offset(1, 1)
Als xChk.Waarde = xlUit Dan
.Waarde = ""
Anders
.Waarde = Nu()
End If
Eindigt met
End Sub
Deze opmerking is gemaakt door de moderator op de site
Hoi! Bedankt voor de code. Het werkt perfect met een kleine aanpassing aan de offset. Ik werkte echter aan een blad met veel, vele rijen (~500+ rijen) die veel selectievakjes bevatten en de bestandsgrootte nam aanzienlijk toe. Is er een manier om de maat te verkleinen? Een alternatieve manier om dit te doen?

Bedankt!
Deze opmerking is gemaakt door de moderator op de site
Goedendag
Als er veel selectievakjes in rijen zijn en u alle selectievakjes tegelijkertijd wilt gebruiken, kan de onderstaande VBA-code u helpen.
Kopieer de codes naar een modulecodevenster, ga terug naar het werkblad en maak een knop (zoals een knop (formulierbesturing)), wijs de macro SetAllChkChange() toe aan de knop en klik vervolgens op de knop om de code uit te voeren.

Nu zijn alle selectievakjes in rijen van uw werkblad geactiveerd. U kunt elk ervan aanvinken om een ​​datumstempel in de aangrenzende cel in te voegen.

SubsetAllChkChange()
Dim xChks
Dim xChk als selectievakje
Dim xI zo lang
On Error Resume Next
Wis xArrChk
Stel xChks = ActiveSheet.CheckBoxen in
ReDim behouden xArrChk(1 To xChks.count)
xI = 1
Voor elke xChk In xChks
xChk.Selecteren
Selection.OnAction = "ObjChkChange"
Volgende
End Sub


Sub ObjChkChange()
Dim xChk als selectievakje
Stel xChk = ActiveSheet.CheckBoxes (Application.Caller) in
Met xChk.TopLeftCell.Offset(, 1)
Als xChk.Waarde = xlUit Dan
.Waarde = ""
Anders
.Waarde = Datum
End If
Eindigt met
End Sub
Deze opmerking is gemaakt door de moderator op de site
hoe zorg ik ervoor dat de datumstempel onder mijn selectievakje wordt weergegeven?
Deze opmerking is gemaakt door de moderator op de site
hoi! ik kan geen manier vinden om de datumstempel aan de zijkant van het selectievakje te vinden. ik heb geprobeerd de offsetwaarde te wijzigen van 0, 1 en -1. Kun je me hiermee helpen? bedankt!
Deze opmerking is gemaakt door de moderator op de site
Hallo, stel dat uw selectievakje zich in A2 bevindt en u de datumstempel aan de rechterkant van het selectievakje wilt weergeven (in dit geval is het B2), verander dan de Offset-waarde in Offset (1, 1).
Deze opmerking is gemaakt door de moderator op de site
Ik heb de VBA gebruikt voor de tijdstempel van het selectievakje, maar de eerste twee cellen werken niet correct. Mijn eerste selectievakje is in A2, wanneer ik het vakje aanvink, wordt de tijd in B1 geboekt. Hoe los ik dit op?
Deze opmerking is gemaakt door de moderator op de site
Hi Steve,
Vervang de vierde regel in de code door With xChk.TopLeftCell.Offset (1, 1).
Deze opmerking is gemaakt door de moderator op de site
Heel erg bedankt!! Briljant! Dank u!
Deze opmerking is gemaakt door de moderator op de site
Hallo, hoe kan ik de code herhalen om alle selectievakjes in de kolom op te nemen?
Deze opmerking is gemaakt door de moderator op de site
Goede dag,
Als er veel selectievakjes in rijen zijn en u op alle selectievakjes tegelijkertijd wilt reageren, kan de onderstaande VBA-code u helpen.
Kopieer de onderstaande codes naar een modulecodevenster, ga terug naar het werkblad en maak een knop (zoals een knop (formulierbesturing)), wijs de macro toe SetAllChkChange() naar de knop en klik vervolgens op de knop om de code uit te voeren.

Nu zijn alle selectievakjes in rijen van uw werkblad geactiveerd. U kunt elk ervan aanvinken om een ​​datumstempel in de aangrenzende cel in te voegen.

Sub SetAllChkChange()
'Bijgewerkt door' Extendoffice 20211130
Dim xChks
Dim xChk als selectievakje
On Error Resume Next
Stel xChks = ActiveSheet.CheckBoxen in
Voor elke xChk In xChks
xChk.Selecteren
Selection.OnAction = "ObjChkChange"
Volgende
End Sub

Sub ObjChkChange()
Dim xChk als selectievakje
Stel xChk = ActiveSheet.CheckBoxes (Application.Caller) in
Met xChk.TopLeftCell.Offset(, 1)
Als xChk.Waarde = xlUit Dan
.Waarde = ""
Anders
.Waarde = Datum
End If
Eindigt met
End Sub
Er zijn nog geen reacties geplaatst
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