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

Kako samodejno dodati / vnesti trenutni datum / čas v celico z dvojnim klikom v Excelu?

Če morate na delovni list pogosto vstavljati trenutni datum ali datum, lahko poskusite z metodo v tem članku. Ta članek vam bo pomagal samodejno dodati ali vnesti trenutni datum ali zob z datumom v določene celice obsega z samo dvojnim klikom.

Dvokliknite, če želite samodejno dodati / vnesti trenutni datum ali datum s kodo VBA


Dvokliknite, če želite samodejno dodati / vnesti trenutni datum ali datum s kodo VBA


Spodnjo kodo VBA lahko zaženete, da z dvojnim klikom samodejno dodate trenutni datum ali datum v celico. Naredite naslednje.

1. Z desno miškino tipko kliknite zavihek List, v katerega želite vstaviti trenutni datum v določene celice, nato izberite Ogled kode v meniju z desnim klikom.

2. V Ljubljani Microsoft Visual basic za aplikacije okno, kopirajte in prilepite spodnjo kodo VBA v okno Code.

Koda VBA: Dvokliknite, če želite v celico dodati trenutni datum

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

Opombe:

1. V kodi je A1: B10 obseg, ki mu boste dodali trenutni datum.
2. Če morate v celico dodati trenutni datumski čas, ga zamenjajte Datum z Zdaj () v kodi. Lahko jih spremenite po potrebi.

3. Pritisnite druga + Q tipke hkrati, da zaprete tipko Microsoft Visual Basic za aplikacije okno in se vrnite na delovni list.

Odslej, ko dvokliknete katero koli celico v določenem obsegu A1: B10. Trenutni datum ali datum bo samodejno vnesen.


Sorodni članki:


Najboljša orodja za pisarniško produktivnost

Kutools za Excel rešuje večino vaših težav in poveča produktivnost za 80%

  • Ponovna uporaba: Hitro vstavite zapletene formule, grafikoni in vse, kar ste že uporabljali; Šifriraj celice z geslom; Ustvari poštni seznam in pošiljanje e-pošte ...
  • Vrstica Super Formula (enostavno urejanje več vrstic besedila in formule); Bralna postavitev (enostavno branje in urejanje velikega števila celic); Prilepite v filtrirani obseg...
  • Združi celice / vrstice / stolpce brez izgube podatkov; Vsebina razdeljenih celic; Združi podvojene vrstice / stolpce... prepreči podvojene celice; Primerjaj obsege...
  • Izberite Duplicate ali Unique Vrstice; Izberite prazne vrstice (vse celice so prazne); Super Find in Fuzzy Find v mnogih delovnih zvezkih; Naključna izbira ...
  • Natančna kopija Več celic brez spreminjanja sklica formule; Samodejno ustvarjanje referenc na več listov; Vstavi oznake, Potrditvena polja in še več ...
  • Izvleček besedila, Dodaj besedilo, Odstrani po položaju, Odstrani presledek; Ustvari in natisni vmesne seštevke strani Pretvarjanje med vsebino celic in komentarji...
  • Super filter (shranite in uporabite sheme filtrov za druge liste); Napredno razvrščanje glede na mesec / teden / dan, pogostost in drugo; Poseben filter s krepko, ležeče ...
  • Združite delovne zvezke in delovne liste; Spoji tabele na podlagi ključnih stolpcev; Razdelite podatke na več listov; Paketna pretvorba xls, xlsx in PDF...
  • Več kot 300 zmogljivih funkcij. Podpira Office / Excel 2007-2019 in 365. Podpira vse jezike. Preprosta namestitev v vašem podjetju ali organizaciji. Vse funkcije 30-dnevnega brezplačnega preskusa. 60-dnevno jamstvo za vračilo denarja.
zavihek kte 201905

Kartica Office prinaša vmesnik z zavihki v Office in poenostavi vaše delo

  • Omogočite urejanje in branje z zavihki v Wordu, Excelu, PowerPointu, Publisher, Access, Visio in Project.
  • Odprite in ustvarite več dokumentov v novih zavihkih istega okna in ne v novih oknih.
  • Poveča vašo produktivnost za 50% in vsak dan zmanjša na stotine klikov z miško!
dno pisarniške mize
Komentarji (28)
Ocene še ni. Bodite prvi in ​​ocenite!
Ta komentar je moderator na spletnem mestu minimiziral
Kako to razširimo, da dodamo več obsega celic? V kodo sem dodal te dodatne celice z razponom: (Target, Range("C10:C19", "D10:D19", "E10:E19")), vendar mi daje napako pri prevajanju, ki pravi "napačno število argumentov ali neveljavne dodelitve lastnosti" in nato poudari prvo vrstico kode, ki ste jo navedli "Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)" Prosim pomagajte mi.
Ta komentar je moderator na spletnem mestu minimiziral
Joel, ne vem, če še vedno iščeš rešitev, vendar moraš spremeniti kodo:

Od: (Cilj, obseg("C10:C19", "D10:D19", "E10:E19"))
Za: (Cilj, obseg("C10:C19,D10:D19,E10:E19"))

To bo naredilo za vas.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni Nick,
Rad bi dobil kakšen nasvet na to temo....
Imam datoteko, ki ji pravim "list produktivnosti".... Na ta list bi rad vstavil dejanski čas, v izbrane celice, ko je celica kliknjena... (Če je mogoče, bi želel te celice po tem, ko se zdi, da čas postane nespremenljiv .....nekaj takega, kot bi bil zaklenjen.)
Cenim vaš čas in hvala vnaprej
Attila, Madžarska
exyzee@gmail.com
Ta komentar je moderator na spletnem mestu minimiziral
Dragi Atila,
Poskusite s spodnjim posnetkom zaslona, ​​da vstavite dejanski čas do celice v določeno območje, ko ga kliknete.
(Funkcije samodejnega zaklepanja celic ni mogoče doseči, žal za to)

Zasebni pod delovni list_Sprememba izbora(ByVal Target As Range)
Application.ScreenUpdating = Napačno
Če se ne seka(Cilj, obseg("A1:B10")) potem ni nič
Prekliči = Res
Target.Formula = Datum
Konec Če
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Koda res deluje... Hvala...dodal sem še eno kodo za zaščito celice po vnosu podatkov. Zdaj je težava v tem, da ko vnesem podatke in je celica zaščitena, in če pomotoma dvakrat kliknem zaščiteno celico, gre zgornja koda narobe za celoten list. Takrat ne deluje. Moram odstraniti zaščito lista, da prikažem kodo v živo. Kakšna rešitev?

Uporabljena zaščitna koda je spodaj:

Zasebni poddelovni list_Spremeni (ByVal Target As Range)
Dim xRg As Range
On Error Resume Next
Nastavi xRg = preseči (Obseg("A1:a1000,b1:b1000,G1:G1000"), Cilj)
Če xRg ni nič, zapustite Sub
Target.Worksheet.Unprotect Password:="123"
xRg.Locked = Res
Target.Worksheet.Protect Password:="123"
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Dragi Paul,
Poskusim s kodo, ki si jo navedel. Celoten delovni list bo zaščiten takoj, ko vnesem podatke v katero koli od navedenih zaščitenih celic.
Poleg tega se ob dvojnem kliku na zaščiteno celico v mojem primeru koda nič ne spremeni.
Bi pojasnili, kaj točno poskušate narediti s kodo?
Ta komentar je moderator na spletnem mestu minimiziral
Oprosti, razumem tvojo poanto. (pogrešajte zgornjo kodo)
Ta komentar je moderator na spletnem mestu minimiziral
Ustvarjena vnosna koda z dvojnim klikom je:


Zasebni pod delovni list_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Če se ne seka(Cilj, obseg("A1:a1000")) ni nič potem
Prekliči = Res
Target.Formula = Datum
Konec Če

Če se ne seka(Cilj, obseg("b1:b1000")) ni nič potem
Prekliči = Res
Target.Formula = Čas
Konec Če

Če se ne seka(Cilj, obseg("g1:g1000")) ni nič potem
Prekliči = Res
Target.Formula = Čas
Konec Če
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Dragi Paul,
Poskusite naslednjo kodo VBA.

Zasebni poddelovni list_Spremeni (ByVal Target As Range)
Dim xRg As Range
On Error Resume Next
Nastavi xRg = preseči (Obseg("A1:a1000,b1:b1000,G1:G1000"), Cilj)
Če xRg ni nič, zapustite Sub
Target.Worksheet.Unprotect Password:="123"
xRg.Locked = Res
Target.Worksheet.Protect Password:="123"
End Sub

Zasebni pod delovni list_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.EnableEvents = False
ActiveSheet.Unprotect Password:="123"
Če se ne seka(Cilj, obseg("A1:a1000")) ni nič potem
Prekliči = Res
Target.Formula = Datum
Konec Če
Če se ne seka(Cilj, obseg("b1:b1000")) ni nič potem
Prekliči = Res
Target.Formula = Čas
Konec Če
Če se ne seka(Cilj, obseg("g1:g1000")) ni nič potem
Prekliči = Res
Target.Formula = Čas
Konec Če
ActiveSheet.Protect Password:="123"
Aplikacija EnableEvents = True
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Kopiral sem in prilepil kodo za posodobitev obsega in ni delovalo :-(


Zasebni pod delovni list_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Če se ne seka(Cilj, obseg("B4:B100")) ni nič potem
Prekliči = Res
Target.Formula = Zdaj()
Konec Če
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Dober dan,
Koda v mojem primeru deluje dobro. Mi lahko poveš svojo različico Officea?
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, koda, ki ste jo dali, deluje odlično. Zanima me samo, ali obstaja način, da se v celici do vnesenega datuma navede besedilo "dvaklikni za dodajanje datuma". Vnaprej se vam zahvaljujem (skušam narediti svoj dokument čim bolj prijazen do uporabnika, da ne bi zmedel svojih sodelavcev)
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, zgornja koda mi je delovala odlično. Zdaj me samo zanima, ali obstaja način, da se v celici prikaže besedilo "Dvojno kliknite za vnos datuma", dokler se datum ne vnese. Moj cilj je, da bo dokument čim bolj prijazen do uporabnika. Hvala v naprej
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Travis,
Kode ne moremo spremeniti tako, da bo besedilo prikazano neposredno v celici. Druga možnost je, da bo spodnja optimizirana koda pomagala prikazati besedilo v komentarju celice, komentar pa bo samodejno odstranjen, ko dvokliknete celico, da vnesete datum.

Zasebni pod delovni list_Sprememba izbora(ByVal Target As Range)
Če se ne seka(Cilj, obseg("A1:B10")) potem ni nič
Target.NoteText "dvaklikni za dodajanje datuma"
Konec Če
End Sub

Zasebni pod delovni list_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Če se ne seka(Cilj, obseg("A1:B10")) potem ni nič
Prekliči = Res
Target.Comment.Delete
Target.Formula = Datum
Konec Če
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo,

Zgornjo kodo sem kopiral in prilepil točno tako, kot je zapisana v prazen delovni zvezek, vendar mi ne deluje. Pogledal sem različne vire na spletu in večina spletnih mest ima podobno obliko, kot je napisano zgoraj. Mislim, da je morda nekaj narobe z mojim VBA ali nekatere nastavitve niso vklopljene. Vsak nasvet bi bil zelo hvaležen. Uporabljam Excel za Office 365 MSO (16.0.11001.20097) 32-bit v sistemu Windows 10.
Ta komentar je moderator na spletnem mestu minimiziral
Koda mi je všeč in deluje odlično. Kako lahko to naredim tako, ko dvakrat kliknem, da izvedem kodo, prikazuje čas v vojaškem času?
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Dylan,
Žal ti pri tem še ne morem pomagati. Hvala za vaš komentar.
Ta komentar je moderator na spletnem mestu minimiziral
Mislim, da bi moral delovati, če izberete format vojaškega časa za to celico v možnostih Format -> Number -> Time. Na primer, daje možnost 1:30 ali 13:30, tako da bi samo izbrali 13:30 in to bi moralo storiti.
Ta komentar je moderator na spletnem mestu minimiziral
Mislim, da če samo izberete format vojaškega časa za to celico v možnostih Številka -> Oblika časa, bi to moralo storiti. Izbrali bi na primer 13:30 namesto 1:30, nato pa bi se moralo prikazati v vojaškem času.
Ta komentar je moderator na spletnem mestu minimiziral
Ali kdo ve, če obstaja način za vstavljanje te kode v Excel Online? Uporabil sem ga z namizno različico in je deloval odlično, zdaj pa smo vse preselili na spletno platformo in moji datumski in časovni žigi ob dvojnem kliku so izginili in ne morem ugotoviti, kako si lahko ogledam ali uredim kodo. Hvala.
Ta komentar je moderator na spletnem mestu minimiziral
Tako sem vstavil kodo in deluje odlično na več listih v mojem delovnem zvezku, vendar na nekaterih listih nenadoma preneha delovati po določeni vrstici, čeprav imam vpisan pravilen obseg. Kakšne misli o tem, zakaj se to lahko zgodi.
Ta komentar je moderator na spletnem mestu minimiziral
To je bilo ravno tisto, kar sem iskal - to prihrani veliko časa in cenim dobro napisana navodila. Hvala vam!
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni, koda mi je naredila veliko. Kako lahko omejim kodo, da deluje samo, če je polje prazno. Če je datum že v celici, dvojni klik ne bi smel storiti ničesar, lep pozdrav
Ta komentar je moderator na spletnem mestu minimiziral
Živjo Ahmad,
Oprosti za težave. Če želite prazne celice zapolniti samo z datumi z dvojnim klikom, lahko uporabite naslednjo kodo VBA, da to storite.
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
Ta komentar je moderator na spletnem mestu minimiziral
Ta funkcija ni delovala. Dvojni klik preprosto vnese ročno urejanje celice.
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo, Bob,
Koda v mojem primeru deluje dobro. Moram vedeti več o vaši težavi, kot je vaša različica Excela.
In koda deluje samo na celicah, ki ste jih navedli.
Ta komentar je moderator na spletnem mestu minimiziral
Pozdravljeni vsi,

Ta makro poskušam uporabiti za uporabo datumskega žiga z dvojnim klikom na stolpec E in deluje, toda ko poskušam ponoviti makro, da naredim isto, vendar za trenutni čas v stolpcu F ne deluje, kot lahko vidite priloženo, imam sporočilo o napaki: Zaznano dvoumno ime.
Ko poskušam spremeniti del poddelovnega lista za drugo ime in dvokliknem celice, se ne zgodi nič.

Mi lahko kdo pomaga pri tem?

Moja koda:


Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Če Not Intersect(Target, Range("E1:E10000")) ni nič, potem
Prekliči = Res
Target.Formula = Datum
Konec Če
End Sub

Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Če se ne seka(Cilj, obseg("F1:F10000")) potem ni nič
Prekliči = Res
Target.Formula = Zdaj()
Konec Če
End Sub
Ta komentar je moderator na spletnem mestu minimiziral
Zdravo, Louis,
Podvajanje makra bo povzročilo dva ista postopka z enakim imenom v oknu s kodo enega lista. Excel ne dovoljuje dveh ali več istih imen funkcij v modulu. Niti v Dogodkih. Vodi v dvoumnost.
Če želite na istem dogodku opraviti drugo nalogo, morate spremeniti izvirno kodo, da bo ustrezala vašim potrebam.
Naslednja koda VBA vam lahko naredi uslugo. Prosim, poskusite.
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
Tu še ni objavljenih komentarjev
Pustite vaše komentarje
Objava kot gost
×
Ocenite to objavo:
0   Znaki
Predlagane lokacije