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

Hvordan tilføjes / indtastes den aktuelle dato / tid automatisk i en celle med dobbeltklik i Excel?

Hvis du ofte skal indsætte den aktuelle dato eller dato i et regneark, kan du prøve metoden i denne artikel. Denne artikel hjælper dig med automatisk at tilføje eller indtaste den aktuelle dato eller datotine i et specificeret område celler med kun dobbeltklik.

Dobbeltklik for automatisk at tilføje / indtaste den aktuelle dato eller dato med VBA-kode


Dobbeltklik for automatisk at tilføje / indtaste den aktuelle dato eller dato med VBA-kode

Du kan køre nedenstående VBA-kode for automatisk at tilføje den aktuelle dato eller dato i en celle med dobbeltklik. Gør som følger.

1. Højreklik på fanen Ark, som du vil indsætte den aktuelle dato i de angivne celler, og vælg derefter Vis kode fra højreklikmenuen.

2. i Microsoft Visual basic til applikationer vindue, kopier og indsæt nedenstående VBA-kode i kodevinduet.

VBA-kode: Dobbeltklik for at tilføje den aktuelle dato i en celle

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

Noter:

1. I koden er A1: B10 det område, du vil føje den aktuelle dato til.
2. Hvis du har brug for at tilføje den aktuelle dato i cellen, skal du udskifte den Dato med Nu() i koden. Du kan ændre dem efter behov.

3. Trykke andre + Q taster samtidigt for at lukke Microsoft Visual Basic til applikationer vindue og vende tilbage til regnearket.

Fra nu af, når du dobbeltklikker på en celle i det specificerede område A1: B10. Den aktuelle dato eller dato indlæses automatisk.


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 (28)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Hvordan udvider vi dette for at tilføje mere celleområde? Jeg tilføjede disse ekstra celle ranged til koden: (Target, Range("C10:C19", "D10:D19", "E10:E19"), men det giver mig en kompileringsfejl, der siger "forkert antal argumenter eller ugyldige egenskabstildelinger" og derefter fremhæver den den første kodelinje, du har leveret "Privat Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)" Please help me.
Denne kommentar blev minimeret af moderatoren på webstedet
Joel, ved ikke om du stadig leder efter en løsning, men du skal ændre din kode:

Fra: (Mål, område("C10:C19", "D10:D19", "E10:E19"))
Til: (Target, Range("C10:C19,D10:D19,E10:E19"))

Dette vil gøre det for dig.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej nick
Jeg vil gerne have nogle råd fra dig om dette emne....
Jeg har en fil, som jeg kalder "produktivitetsark".... På dette ark vil jeg gerne indsætte den faktiske tid, i udvalgte celler, når der klikkes på cellen... (Hvis det er muligt, vil jeg gerne have disse celler efter at tiden ser ud til at blive uforanderlig .....noget som at være låst.)
Jeg sætter pris på din tid og på forhånd tak
Attila, Ungarn
exyzee@gmail.com
Denne kommentar blev minimeret af moderatoren på webstedet
Kære Attila,
Prøv venligst nedenstående skærmbillede for at indsætte den faktiske tid til celle i et bestemt område, når der klikkes på det.
(Den automatisk låsende celle-funktion kan ikke opnås, beklager det)

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Hvis ikke skærer (Mål, rækkevidde("A1:B10")) er ingenting så
Annuller = Sandt
Target.Formula = Dato
End If
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Koden virker virkelig ... Tak ... jeg har tilføjet en anden kode for at beskytte cellen efter indtastning af data. Nu er problemet, at når jeg har indtastet dataene, og cellen er beskyttet, og ved en fejltagelse, hvis jeg dobbeltklikker på den beskyttede celle, så går ovenstående kode galt for hele arket. Så går det ikke. Jeg er nødt til at fjerne beskyttelsen af ​​arket for at bringe koden live. Nogen løsning?

Den anvendte beskyttelseskode er nedenfor:

Privat Sub Worksheet_Change (ByVal Target As Range)
Dim xRg As Range
On Error Resume Next
Indstil xRg = Intersect(Range("A1:a1000,b1:b1000,G1:G1000"), mål)
Hvis xRg ikke er noget, skal du afslutte Sub
Target.Worksheet.Unprotect Password:="123"
xRg.Locked = Sand
Target.Worksheet.Protect Password:="123"
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Kære Paul,
Jeg prøver den kode du har angivet. Hele regnearket vil blive beskyttet med det samme, når jeg indtaster data i en af ​​de angivne beskyttede celler.
Desuden, når du dobbeltklikker på den beskyttede celle, ændres intet i koden i mit tilfælde.
Vil du forklare, hvad du præcist forsøger at gøre med koden?
Denne kommentar blev minimeret af moderatoren på webstedet
Undskyld jeg forstår din pointe. (mangler ovenstående kode)
Denne kommentar blev minimeret af moderatoren på webstedet
Den oprettede dobbeltklik-indtastningskode er:


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Hvis ikke skærer (mål, rækkevidde("A1:a1000")) er ingenting så
Annuller = Sandt
Target.Formula = Dato
End If

Hvis ikke skærer (mål, rækkevidde("b1:b1000")) er ingenting så
Annuller = Sandt
Målformel = Tid
End If

Hvis ikke skærer(mål, rækkevidde("g1:g1000")) er intet så
Annuller = Sandt
Målformel = Tid
End If
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Kære Paul,
Prøv venligst følgende VBA-kode.

Privat Sub Worksheet_Change (ByVal Target As Range)
Dim xRg As Range
On Error Resume Next
Indstil xRg = Intersect(Range("A1:a1000,b1:b1000,G1:G1000"), mål)
Hvis xRg ikke er noget, skal du afslutte Sub
Target.Worksheet.Unprotect Password:="123"
xRg.Locked = Sand
Target.Worksheet.Protect Password:="123"
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.EnableEvents = False
ActiveSheet.Unprotect Password:="123"
Hvis ikke skærer (mål, rækkevidde("A1:a1000")) er ingenting så
Annuller = Sandt
Target.Formula = Dato
End If
Hvis ikke skærer (mål, rækkevidde("b1:b1000")) er ingenting så
Annuller = Sandt
Målformel = Tid
End If
Hvis ikke skærer(mål, rækkevidde("g1:g1000")) er intet så
Annuller = Sandt
Målformel = Tid
End If
ActiveSheet.Protect Password:="123"
Application.EnableEvents = True
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg kopierede og indsatte koden for at opdatere rækkevidden, og det virkede ikke :-(


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Hvis ikke skærer (mål, rækkevidde("B4:B100")) er ingenting så
Annuller = Sandt
Target.Formula = Now()
End If
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
God dag,
Koden fungerer godt i mit tilfælde. Kan du fortælle mig din Office-version?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, den kode du gav virker fint. Jeg er bare nysgerrig om der er nogen måde at have teksten "dobbeltklik for at tilføje dato" i cellen indtil datoen er indtastet. På forhånd tak (jeg forsøger at gøre mit dokument så brugervenligt som muligt for ikke at forvirre mine kolleger)
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, ovenstående kode fungerede godt for mig. Nu spekulerer jeg bare på, om der er en måde at få teksten "Dobbeltklik for at indtaste dato" til at blive vist i cellen, indtil datoen er indtastet. Mit mål er at gøre dokumentet så brugervenligt som muligt. Tak på forhånd
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Travis,
Vi kan ikke ændre koden til at få tekst vist i cellen direkte. Men alternativt hjælper nedenstående optimerede kode med at vise teksten i cellekommentaren, og kommentaren fjernes automatisk efter dobbeltklik på cellen for at indtaste dato.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Hvis ikke skærer (Mål, rækkevidde("A1:B10")) er ingenting så
Target.NoteText "dobbeltklik for at tilføje dato"
End If
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Hvis ikke skærer (Mål, rækkevidde("A1:B10")) er ingenting så
Annuller = Sandt
Target.Comment.Slet
Target.Formula = Dato
End If
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Hej der,

Jeg kopierede og indsatte ovenstående kode præcis som den er skrevet i en tom projektmappe, men det virker ikke for mig. Jeg kiggede på forskellige kilder på nettet, og de fleste websteder har et lignende format som det, der er skrevet ovenfor. Jeg tror måske der er noget galt med min VBA, eller nogle indstillinger er ikke slået til. Ethvert råd ville være meget værdsat. Jeg kører Excel til Office 365 MSO (16.0.11001.20097) 32-bit på Windows 10.
Denne kommentar blev minimeret af moderatoren på webstedet
Elsker koden, og den fungerer godt. Hvordan kan jeg få det til, når jeg dobbeltklikker for at udføre koden, at det viser tid i militær tid?
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Dylan,
Jeg kan desværre ikke hjælpe dig med det endnu. Tak for din kommentar.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg tror, ​​at hvis du vælger militærtidsformatet for den celle fra Format -> Antal -> Tidsindstillinger i dit ark, burde det virke. For eksempel giver det mulighed for 1:30 eller 13:30, så du ville bare vælge 13:30, og det burde gøre det.
Denne kommentar blev minimeret af moderatoren på webstedet
Jeg vil tro, at hvis du bare vælger Militærtidsformatet for den celle fra indstillinger for Tal -> Tidsformat, skal det gøre det. For eksempel ville du vælge 13:30 i stedet for 1:30 PM, og så skulle det vises i militær tid.
Denne kommentar blev minimeret af moderatoren på webstedet
Er der nogen der ved om der er en måde at indsætte denne kode i Excel Online? Jeg havde brugt det med desktopversionen, og det fungerede godt, men nu har vi migreret alt til onlineplatformen, og mine dato- og tidsstempler ved dobbeltklik er forsvundet, og jeg kan ikke finde ud af, hvordan jeg skal se eller redigere koden. Tak.
Denne kommentar blev minimeret af moderatoren på webstedet
Så jeg indsatte kode, og det fungerer fint på flere ark i min projektmappe, men på nogle ark stopper det lige pludselig med at fungere efter en bestemt række, selvom jeg har indtastet det korrekte interval. Nogen tanker om hvorfor dette kan ske.
Denne kommentar blev minimeret af moderatoren på webstedet
Dette var lige hvad jeg ledte efter - det sparer masser af tid, og jeg sætter pris på de velskrevne instruktioner. Tak skal du have!
Denne kommentar blev minimeret af moderatoren på webstedet
Hej, koden gjorde meget for mig, hvordan kan jeg begrænse koden til kun at virke, hvis feltet er tomt. Hvis en dato allerede er der i cellen, burde dobbeltklik ikke gøre noget, hilsen
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Ahmad,
Beklager besværet. For kun at udfylde de tomme celler med datoer ved at dobbeltklikke, kan du anvende følgende VBA-kode for at få det gjort.
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
Denne kommentar blev minimeret af moderatoren på webstedet
Denne funktion virkede ikke. Dobbeltklikning åbner blot manuel redigering af cellen.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej Bob,
Koden fungerer godt i mit tilfælde. Jeg har brug for at vide mere specifikt om dit problem, såsom din Excel-version.
Og koden virker kun på de celler, du har angivet.
Denne kommentar blev minimeret af moderatoren på webstedet
Hej alle,

Jeg forsøger at bruge den makro til at bruge datostemplet ved at dobbeltklikke på kolonne E, og det virker, men når jeg prøver at replikere makroen for at gøre det samme, men for nuværende tidspunkt på kolonne F virker det ikke, som du kan se vedhæftet, har jeg en fejlmeddelelse, der siger: Tvetydigt navn fundet.
Når jeg prøver at ændre Sub WorkSheet-delen til et andet navn og dobbeltklikker i cellerne, sker der ikke noget.

Kan nogen hjælpe mig med det?

Min kode:


Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Hvis ikke skærer (mål, rækkevidde("E1:E10000")) er ingenting så
Annuller = Sandt
Target.Formula = Dato
End If
End Sub

Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Hvis ikke skærer (Mål, rækkevidde("F1:F10000")) er ingenting, så
Annuller = Sandt
Target.Formula = Now()
End If
End Sub
Denne kommentar blev minimeret af moderatoren på webstedet
Hej louis
Repliker makroen vil forårsage to samme procedurer med samme navn i et enkelt arkkodevindue. Excel tillader ikke to eller flere samme navne på funktioner i et modul. Ikke engang i Events. Det fører til uklarhed.
Hvis du vil udføre en anden opgave på den samme begivenhed, skal du ændre den originale kode for at opfylde dine behov.
Følgende VBA-kode kan gøre dig en tjeneste. Prøv det.
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
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