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

Hvordan indsættes datostempel i en celle, hvis der er markeret et afkrydsningsfelt i Excel?

Normalt indtaster du et datostempel ved hjælp af genvejstaster i Excel. Hvad med at indsætte datostempel i en celle ved et afkrydsningsfelt i Excel? Når du markerer afkrydsningsfeltet, indsættes tidsstemplet automatisk i en bestemt celle. Denne artikel hjælper dig med at løse det.

Indsæt datostempel i en celle, hvis der er markeret et afkrydsningsfelt med VBA-kode


Indsæt datostempel i en celle, hvis der er markeret et afkrydsningsfelt med VBA-kode

Dette afsnit introducerer et VBA-script, der hjælper dig med automatisk at indsætte et datostempel i en celle, hvis der er markeret et afkrydsningsfelt i Excel. Gør som følger.

1. Når du har indsat et afkrydsningsfelt, skal du trykke på andre + F11 taster samtidigt for at åbne Microsoft Visual Basic til applikationer vindue.

2. i Microsoft Visual Basic til applikationer vindue, skal du klikke på indsatte > Moduler. Kopier og indsæt derefter nedenstående VBA-kode i modulvinduet.

VBA-kode: Indsæt datostempel i en celle, hvis der er markeret et afkrydsningsfelt

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. Trykke andre + Q taster for at lukke Microsoft Visual Basic til applikationer vindue.

4. Højreklik på afkrydsningsfeltet, og vælg Tildel Micro fra højreklikmenuen. Se skærmbillede:

5. i Tildel makro dialogboksen, vælg CheckBox_Date_Stamp i Makronavn og klik derefter på OK knap. Se skærmbillede:

Når du markerer afkrydsningsfeltet, indsættes datostemplet automatisk i den tilstødende celle.


Relaterede artikler:


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (22)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Tak, dette var meget nyttigt, jeg vil gerne bemærke, at jeg finder det mere nyttigt at have datostemplet til venstre for afkrydsningsfeltet. for at gøre dette skal du bare ændre offset til (, -1)
Denne kommentar blev minimeret af moderatoren på webstedet
Er der nogen måde at gøre dette med dato og klokkeslæt? Tak for info i hvert fald!
Denne kommentar blev minimeret af moderatoren på webstedet
Sub CheckBox_Date_Stamp() Dim xChk As CheckBox Sæt xChk = ActiveSheet.CheckBoxes(Application.Caller) With xChk.TopLeftCell.Offset(, 1) If xChk.Value = xlOff Så .Value = "" Else .Value = Dato & " Tid End If End With End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Hej,
Anvend venligst nedenstående VBA-kode for at tilføje dato og klokkeslæt.

Sub CheckBox_Date_Stamp()
Dim xChk Som afkrydsningsfelt
Indstil xChk = ActiveSheet.CheckBoxes(Application.Caller)
Med xChk.TopLeftCell.Offset(, 1)
Hvis xChk.Value = xlOff Så
.Value = ""
Else
.Value = Nu()
End If
Slut med
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
HI Jeg prøvede denne formel, og den virkede kun for A1 og B1, da jeg anvendte makroen til afkrydsningsfeltet i A1. Men da jeg anvendte makroen til afkrydsningsfeltet i A2, skete der ikke noget i B2. Og hvordan ville formlen blive ændret, hvis jeg ville bruge denne til en tjekliste? Hvis kolonne A var afkrydsningsfelterne og kolonne C blev afsluttet dato.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej:) du kan kopiere cellen med afkrydsningsfeltet i A1 til resten af ​​kolonnen. eller tildel makroen individuelt til hvert afkrydsningsfelt
Denne kommentar blev minimeret af moderatoren på webstedet
Good Day,
Tildel venligst makroen individuelt til hvert afkrydsningsfelt.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg kopierede og indsatte VBA-koden nøjagtigt, men på mit regneark vises datoen i cellen ovenfor og til højre for afkrydsningsfeltets kolonne, ikke i cellen direkte til højre. ?
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg har også præcis det samme problem. "HJÆLP! Jeg har brug for nogen HJÆLP! Ikke hvem som helst HJÆLP! Du ved, jeg har brug for nogen HJÆLP!
Denne kommentar blev minimeret af moderatoren på webstedet
God dag,
Koden fungerer godt i mit tilfælde. Når du har markeret afkrydsningsfeltet, vises datoen i cellen direkte til højre. Vil du give et skærmbillede af din sag. Og hvilken Office-version bruger du. Tak skal du have.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg havde det samme problem med dato- og tidsstemplet, der vises i cellen over den tilsigtede celle (ved hjælp af Excel 2007). Jeg gik videre og ændrede "offset"-formlen, så den går over én celle OG én celle ned, og nu vises stemplet, hvor jeg vil have det: Med xChk.TopLeftCell.Offset(1, 1)
Jeg opdaterer et regneark, som en anden har oprettet og ikke oprettede afkrydsningsfelterne, men det kan have at gøre med, hvor inde i cellen afkrydsningsfeltet er placeret. Jeg fik forskellige resultater, da jeg placerede afkrydsningsfeltet med bunden af ​​cellen.

Håber det hjælper!
Denne kommentar blev minimeret af moderatoren på webstedet
Dette er, hvad jeg gjorde for at løse problemet

Sub CheckBox_Date_Stamp()
Dim xChk Som afkrydsningsfelt
Indstil xChk = ActiveSheet.CheckBoxes(Application.Caller)
Med xChk.TopLeftCell.Offset(1, 1)
Hvis xChk.Value = xlOff Så
.Value = ""
Else
.Value = Nu()
End If
Slut med
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Hej! Tak for koden. Det fungerer perfekt med en lille tweaking på offset. Men jeg arbejdede på et ark, som har mange mange mangeyy rækker (~ 500+ rækker), som indeholder en masse afkrydsningsfelter, og filstørrelsen voksede betydeligt. Er der nogen måde at reducere størrelsen på? Nogen alternativ måde at gøre dette på?

Tak!
Denne kommentar blev minimeret af moderatoren på webstedet
Godt da
Hvis der er mange afkrydsningsfelter i rækker, og du vil reagere på alle afkrydsningsfelter på samme tid, kan nedenstående VBA-kode hjælpe dig.
Kopier venligst koderne til et modulkodevindue, gå tilbage til regnearket og opret en knap (såsom en knap (formularkontrol)), tildel makroen SetAllChkChange() til knappen, og klik derefter på knappen for at køre koden.

Nu er alle afkrydsningsfelter i rækkerne af dit regneark blevet aktiveret. Du kan markere en af ​​dem for at indsætte datostempel i dens tilstødende celle.

Sub SetAllChkChange()
Dim xChks
Dim xChk Som afkrydsningsfelt
Dim xI Så længe
On Error Resume Next
Slet xArrChk
Indstil xChks = ActiveSheet.CheckBoxes
ReDim Bevar xArrChk(1 til xChks.count)
xI = 1
For hver xChk I xChks
xChk.Vælg
Selection.OnAction = "ObjChkChange"
Næste
End Sub


Sub ObjChkChange()
Dim xChk Som afkrydsningsfelt
Indstil xChk = ActiveSheet.CheckBoxes(Application.Caller)
Med xChk.TopLeftCell.Offset(, 1)
Hvis xChk.Value = xlOff Så
.Value = ""
Else
.Værdi = Dato
End If
Slut med
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
hvordan får jeg vist datostemplet under mit afkrydsningsfelt?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej! Jeg kan tilsyneladende ikke finde en måde, hvor i datostemplet vil være på siden af ​​afkrydsningsfeltet. Jeg prøvede at ændre offsetværdien fra 0, 1 og -1. kan du hjælpe mig med dette? tak skal du have!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, hvis du antager, at dit afkrydsningsfelt er i A2 og ønsker at udskrive datostemplet i højre side af afkrydsningsfeltet (i dette tilfælde er det B2), skal du ændre Offset-værdien til Offset(1, 1).
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg brugte VBA til afkrydsningsfeltets tidsstempel, men de første to celler fungerer ikke korrekt. Mit første afkrydsningsfelt er i A2, når jeg afkrydser afkrydsningsfeltet, bliver tiden lagt i B1. Hvordan løser jeg dette?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Steve,
Erstat venligst den fjerde linje i koden med With xChk.TopLeftCell.Offset(1, 1).
Denne kommentar blev minimeret af moderatoren på webstedet
Mange tak!! Strålende! Tak skal du have!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, hvordan kan jeg sløjfe koden for at inkludere alle afkrydsningsfelter i kolonnen?
Denne kommentar blev minimeret af moderatoren på webstedet
God dag,
Hvis der er mange afkrydsningsfelter i rækker, og du vil reagere på alle afkrydsningsfelter på samme tid, kan nedenstående VBA-kode hjælpe dig.
Kopier koderne nedenfor til et modulkodevindue, gå tilbage til regnearket og opret en knap (såsom en knap (formularkontrol)), tildel makroen SetAllChkChange() til knappen, og klik derefter på knappen for at køre koden.

Nu er alle afkrydsningsfelter i rækkerne af dit regneark blevet aktiveret. Du kan markere en af ​​dem for at indsætte datostempel i dens tilstødende celle.

Sub SetAllChkChange()
'Opdateret af Extendoffice 20211130
Dim xChks
Dim xChk Som afkrydsningsfelt
On Error Resume Next
Indstil xChks = ActiveSheet.CheckBoxes
For hver xChk I xChks
xChk.Vælg
Selection.OnAction = "ObjChkChange"
Næste
End Sub

Sub ObjChkChange()
Dim xChk Som afkrydsningsfelt
Indstil xChk = ActiveSheet.CheckBoxes(Application.Caller)
Med xChk.TopLeftCell.Offset(, 1)
Hvis xChk.Value = xlOff Så
.Value = ""
Else
.Værdi = Dato
End If
Slut med
End Sub
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL