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

Hogyan adhatjuk meg / adhatjuk meg automatikusan az aktuális dátumot / időt egy cellában, duplán kattintva az Excelben?

Ha gyakran be kell illesztenie az aktuális dátumot vagy dátumot egy munkalapba, akkor kipróbálhatja a cikkben ismertetett módszert. Ez a cikk segít Önnek dupla kattintással automatikusan hozzáadni vagy beírni az aktuális dátumot vagy dátumot egy megadott tartományba.

Kattintson duplán az aktuális dátum vagy dátum és idő automatikus hozzáadásához / megadásához VBA kóddal


Kattintson duplán az aktuális dátum vagy dátum és idő automatikus hozzáadásához / megadásához VBA kóddal

Az alábbi VBA kód futtatásával dupla kattintással automatikusan hozzáadhatja az aktuális dátumot vagy dátumot egy cellába. Kérjük, tegye a következőket.

1. Kattintson a jobb gombbal a Lap fülre, amelyre be akarja illeszteni az aktuális dátumot a megadott cellákba, majd válassza a lehetőséget Kód megtekintése a jobb egérgombbal kattintva.

2. Ban,-ben Microsoft Visual Basic for Applications ablakba másolja és illessze be az alábbi VBA kódot a Kód ablakba.

VBA kód: Kattintson duplán az aktuális dátum cellához adásához

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

Megjegyzések:

1. A kódban az A1: B10 az a tartomány, amelyhez hozzáadja az aktuális dátumot.
2. Ha fel kell vennie a cellába az aktuális dátumot, kérjük, cserélje ki találka val vel Most() a kódban. Szükség szerint megváltoztathatja őket.

3. nyomja meg más + Q gombok egyszerre a Microsoft Visual Basic for Applications ablakot, és térjen vissza a munkalapra.

Mostantól, amikor duplán kattint valamelyik cellára a megadott A1: B10 tartományban. Az aktuális dátum vagy dátumidő automatikusan beírásra kerül.


Kapcsolódó cikkek:


A legjobb irodai termelékenységi eszközök

A Kutools for Excel megoldja a legtöbb problémát, és 80% -kal növeli a termelékenységet

  • újrafelhasználás: Gyorsan helyezze be összetett képletek, diagramok és bármi, amit korábban használt; Cellák titkosítása jelszóval; Levelezőlista létrehozása és e-maileket küldeni ...
  • Szuper Formula Bár (könnyedén szerkeszthet több szöveget és képletet); Olvasás elrendezés (könnyen olvasható és szerkeszthető nagyszámú cella); Beillesztés a Szűrt tartományba...
  • Cellák / sorok / oszlopok egyesítése az adatok elvesztése nélkül; Osztott cellák tartalma; Kombinálja a duplikált sorokat / oszlopokat... megakadályozza az ismétlődő cellákat; Hasonlítsa össze a tartományokat...
  • Válassza a Másolat vagy az Egyedi lehetőséget Sorok; Válassza az Üres sorok lehetőséget (az összes cella üres); Super Find és Fuzzy Find sok munkafüzetben; Véletlenszerű kiválasztás ...
  • Pontos másolás Több cella a képletreferencia megváltoztatása nélkül; Automatikus referenciák létrehozása több lapra; Helyezze be a golyókat, Jelölőnégyzetek és még sok más ...
  • Kivonat szöveg, Szöveg hozzáadása, Eltávolítás pozíció szerint, Hely eltávolítása; Hozz létre és nyomtasson személyhívó részösszegeket; Konvertálás a cellatartalom és a megjegyzések között...
  • Szuper szűrő (mentse el és alkalmazza a szűrősémákat más lapokra); Haladó rendezés hónap / hét / nap, gyakoriság és egyebek szerint; Speciális szűrő félkövér, dőlt betűvel ...
  • Kombinálja a munkafüzeteket és a munkalapokat; Táblázatok egyesítése kulcsoszlopok alapján; Az adatok felosztása több lapra; Kötegelt konvertálás xls, xlsx és PDF...
  • Több mint 300 hatékony funkció. Támogatja az Office / Excel 2007-2021 és 365 verziókat. Minden nyelvet támogat. Könnyű üzembe helyezés vállalatában vagy szervezetében. Teljes funkciók 30 napos ingyenes próbaverzió. 60 napos pénzvisszafizetési garancia.
kte lap 201905

Az Office fül a füles felületet hozza az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
officetab alja
A megjegyzések rendezése szerint
Hozzászólások (28)
Még nincs értékelés. Legyen Ön az első, aki értékel!
A weboldal moderátora ezt a megjegyzést minimalizálta
Hogyan bővíthetjük ezt ki, hogy több cellatartományt adjunk hozzá? Hozzáadtam egy ilyen extra cellát a kódhoz: (Cél, Tartomány("C10:C19", "D10:D19", "E10:E19")), de fordítási hibát ad, amely azt mondja, hogy "rossz számú argumentum vagy érvénytelen tulajdonság-hozzárendelések", majd kiemeli a megadott kód első sorát: "Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)" Kérem, segítsen nekem.
A weboldal moderátora ezt a megjegyzést minimalizálta
Joel, nem tudom, hogy még mindig keresed-e a megoldást, de módosítanod kell a kódodat:

From: (Cél, Tartomány("C10:C19", "D10:D19", "E10:E19"))
Címzett: (Cél, Tartomány("C10:C19,D10:D19,E10:E19"))

Ez megteszi helyetted.
A weboldal moderátora ezt a megjegyzést minimalizálta
Hello Nick,
Ebben a témában szeretnék tanácsot kérni tőletek....
Van egy fájl, amit "termelékenységi adatlapnak" hívok... Ezen a lapon szeretném beszúrni a kiválasztott cellákba a tényleges időt, amikor a cellára kattintanak... (Ha lehetséges, ezeket a cellákat szeretném miután úgy tűnik, hogy az idő megváltoztathatatlanná válik .....olyasmi, mintha zárva lenne.)
Nagyra értékelem az idejét és előre is köszönöm
Attila, Magyarország
exyzee@gmail.com
A weboldal moderátora ezt a megjegyzést minimalizálta
Kedves Attila!
Kérjük, próbálja meg az alábbi képernyőképet, hogy beillessze a cella tényleges idejét egy bizonyos tartományba, amikor rákattint.
(Az automatikusan záródó cellák funkció nem érhető el, elnézést érte)

Private Sub Worksheet_SelectionChange (ByVal Target as Range)
Application.ScreenUpdating = Hamis
Ha nem metszik(cél, tartomány("A1:B10")) akkor semmi
Mégse = Igaz
Target.Formula = Dátum
Ha véget
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
A kód valóban működik... Köszönöm... hozzáadtam egy másik kódot a cella védelmére az adatbevitel után. Most az a probléma, hogy ha megadom az adatokat és a cella védett, és véletlenül ha duplán kattintok a védett cellára, akkor a fenti kód elromlik az egész lapra. Akkor nem működik. Fel kell oldanom a lap védelmét, hogy a kód éles legyen. Valami megoldás?

A használt védelmi kód az alábbi:

Private Sub Worksheet_Change (ByVal Target mint Range)
Dim xrg mint tartomány
On Error Resume Next
xRg beállítása = Metszéspont(Tartomány("A1:a1000,b1:b1000,G1:G1000"), Cél)
Ha az xRg semmi, akkor lépjen ki a Subból
Target.Worksheet.Unprotect Password:="123"
xRg.Locked = Igaz
Target.Worksheet.Protect Password:="123"
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Kedves Paul!
Kipróbálom az általad megadott kódot. A teljes munkalap azonnal védett lesz, amint adatokat beírok a megadott védett cellák valamelyikébe.
Emellett, ha duplán kattintunk a védett cellára, az én esetemben semmi sem változik a kódban.
Elmagyaráznád, hogy pontosan mit akarsz csinálni a kóddal?
A weboldal moderátora ezt a megjegyzést minimalizálta
Bocsánat, értem az álláspontodat. (lemarad a fenti kód)
A weboldal moderátora ezt a megjegyzést minimalizálta
A dupla kattintással létrehozott belépési kód a következő:


Private Sub Worksheet_BeforeDoubleClick (ByVal cél tartományként, Mégse logikai érték)
Ha nem metszik(cél, tartomány("A1:a1000")) semmi, akkor
Mégse = Igaz
Target.Formula = Dátum
Ha véget

Ha nem metszik(cél, tartomány("b1:b1000")) semmi, akkor
Mégse = Igaz
Target.Formula = Idő
Ha véget

Ha nem metszik(cél, tartomány("g1:g1000")) semmi, akkor
Mégse = Igaz
Target.Formula = Idő
Ha véget
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Kedves Paul!
Kérjük, próbálja ki a következő VBA kódot.

Private Sub Worksheet_Change (ByVal Target mint Range)
Dim xrg mint tartomány
On Error Resume Next
xRg beállítása = Metszéspont(Tartomány("A1:a1000,b1:b1000,G1:G1000"), Cél)
Ha az xRg semmi, akkor lépjen ki a Subból
Target.Worksheet.Unprotect Password:="123"
xRg.Locked = Igaz
Target.Worksheet.Protect Password:="123"
End Sub

Private Sub Worksheet_BeforeDoubleClick (ByVal cél tartományként, Mégse logikai érték)
Application.EnableEvents = Hamis
ActiveSheet.Unprotect Password:="123"
Ha nem metszik(cél, tartomány("A1:a1000")) semmi, akkor
Mégse = Igaz
Target.Formula = Dátum
Ha véget
Ha nem metszik(cél, tartomány("b1:b1000")) semmi, akkor
Mégse = Igaz
Target.Formula = Idő
Ha véget
Ha nem metszik(cél, tartomány("g1:g1000")) semmi, akkor
Mégse = Igaz
Target.Formula = Idő
Ha véget
ActiveSheet.Protect Password:="123"
Application.EnableEvents = Igaz
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Kimásoltam és beillesztettem a tartományfrissítési kódot, de nem működött :-(


Private Sub Worksheet_BeforeDoubleClick (ByVal cél tartományként, Mégse logikai érték)
Ha nem metszik(cél, tartomány("B4:B100")) akkor semmi
Mégse = Igaz
Target.Formula = Most()
Ha véget
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Jó napot,
A kód jól működik az én esetemben. Meg tudnád mondani az Office verziódat?
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló, a kód, amit megadott, remekül működik. Csak arra vagyok kíváncsi, hogy van-e mód arra, hogy a cellában a dátum beírásáig a "dupla kattintással add hozzá a dátumot" szöveg legyen. Előre is köszönöm (igyekszem a lehető legfelhasználóbarátabbá tenni a dokumentumomat, nehogy összezavarjam a munkatársaimat)
A weboldal moderátora ezt a megjegyzést minimalizálta
Helló, a fenti kód remekül működött nekem. Most már csak arra vagyok kíváncsi, hogy van-e mód arra, hogy a "Dátum megadásához kattintson duplán" szöveget a cellában a dátum beírásáig. Célom, hogy a dokumentum minél felhasználóbarátabb legyen. Előre is köszönöm
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Travis,
A kódot nem tudjuk úgy módosítani, hogy közvetlenül a cellában jelenjen meg a szöveg. Másik megoldásként az alábbi optimalizált kód segít a cella megjegyzésében lévő szöveg megjelenítésében, és a megjegyzés automatikusan törlődik, miután duplán kattintott a cellára a dátum megadásához.

Private Sub Worksheet_SelectionChange (ByVal Target as Range)
Ha nem metszik(cél, tartomány("A1:B10")) akkor semmi
Target.NoteText "dupla kattintás a dátum hozzáadásához"
Ha véget
End Sub

Private Sub Worksheet_BeforeDoubleClick (ByVal cél tartományként, Mégse logikai érték)
Ha nem metszik(cél, tartomány("A1:B10")) akkor semmi
Mégse = Igaz
Cél.Megjegyzés.Törlés
Target.Formula = Dátum
Ha véget
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia,

A fenti kódot pontosan úgy másoltam be, ahogy be van írva egy üres munkafüzetbe, de nekem nem működik. Különböző forrásokat néztem meg az interneten, és a legtöbb webhely hasonló formátumú, mint a fent leírtak. Azt hiszem, valami probléma van a VBA-val, vagy néhány beállítás nincs bekapcsolva. Bármilyen tanácsot nagyra értékelnénk. Az Excel for Office 365 MSO (16.0.11001.20097) 32 bites verzióját futtatom Windows 10 rendszeren.
A weboldal moderátora ezt a megjegyzést minimalizálta
Tetszik a kód és remekül működik. Hogyan tehetem ezt meg, ha duplán kattintok a kód végrehajtásához, és a katonai idő szerint mutatja az időt?
A weboldal moderátora ezt a megjegyzést minimalizálta
Hi Dylan,
Sajnos ebben még nem tudok segíteni. Köszönjük észrevételét.
A weboldal moderátora ezt a megjegyzést minimalizálta
Azt hiszem, ha kiválasztja a katonai idő formátumát a cellához a Formátum -> Szám -> Idő opciók közül, akkor működnie kell. Például 1:30 vagy 13:30 lehetőséget ad, tehát csak a 13:30-at kell kiválasztania, és ennek meg kell tennie.
A weboldal moderátora ezt a megjegyzést minimalizálta
Úgy gondolom, hogy ha csak a Katonai idő formátumát választja ki az adott cellához a Szám -> Időformátum opciók közül, akkor ezt meg kell tennie. Például 13:30 helyett 1:30-at kell választania, és ekkor katonai idő szerint kell megjelennie.
A weboldal moderátora ezt a megjegyzést minimalizálta
Tudja valaki, hogy be lehet-e szúrni ezt a kódot az Excel Online-ba? Az asztali verzióval használtam, és remekül működött, de most mindent áttelepítettünk az online platformra, és a dupla kattintásnál eltűntek a dátum- és időbélyegek, és nem tudok rájönni, hogyan tekinthetem meg vagy szerkeszthetem a kódot. Kösz.
A weboldal moderátora ezt a megjegyzést minimalizálta
Így beszúrtam egy kódot, és a munkafüzetem több lapján is remekül működik, de néhány lapon hirtelen leáll egy bizonyos sor után, pedig a megfelelő tartományt adtam meg. Bármilyen gondolat, hogy ez miért fordulhat elő.
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez volt az, amit kerestem – ezzel rengeteg időt takaríthat meg, és nagyra értékelem a jól megírt utasításokat. Köszönöm!
A weboldal moderátora ezt a megjegyzést minimalizálta
Üdvözlöm, a kód sokat segített nekem. Hogyan korlátozhatom, hogy a kód csak üres mező esetén működjön. Ha egy dátum már szerepel a cellában, akkor a dupla kattintás nem tehet semmit, üdvözlettel
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Ahmad,
Elnézést a kellemetlenségekért. Ha csak az üres cellákat szeretné kitölteni a dátumokkal dupla kattintással, akkor a következő VBA-kód segítségével végezheti el.
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
A weboldal moderátora ezt a megjegyzést minimalizálta
Ez a funkció nem működött. Dupla kattintással egyszerűen belép a cella kézi szerkesztésébe.
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Bob,
A kód jól működik az én esetemben. Pontosabban kell tudnom a problémájáról, például az Excel verziójáról.
És a kód csak az Ön által megadott cellákon működik.
A weboldal moderátora ezt a megjegyzést minimalizálta
Hi all,

Megpróbálom ezt a makrót használni a dátumbélyegző használatához, duplán kattintva az E oszlopra, és működik, de amikor megpróbálom megismételni a makrót, hogy ugyanezt tegyem, de az F oszlopban az aktuális időpontban nem működik, ahogy a csatolt mellékletben láthatod. hibaüzenet a következővel: Kétértelmű név észlelve.
Amikor megpróbálom megváltoztatni az Almunkalap részt egy másik névre, és duplán kattintok a cellákra, nem történik semmi.

Valaki tudna nekem ebben segíteni?

Az én kódom:


Almunkalap_BeforeDoubleClick (ByVal szerint cél tartományként, mégse logikai értékként)
Ha nem metszik(cél, tartomány("E1:E10000")) semmi, akkor
Mégse = Igaz
Target.Formula = Dátum
Ha véget
End Sub

Almunkalap_BeforeDoubleClick (ByVal szerint cél tartományként, mégse logikai értékként)
Ha nem metszik(cél, tartomány("F1:F10000")) akkor semmi
Mégse = Igaz
Target.Formula = Most()
Ha véget
End Sub
A weboldal moderátora ezt a megjegyzést minimalizálta
Szia Louis,
A makró replikálása két azonos eljárást eredményez ugyanazzal a névvel egyetlen lapkódablakban. Az Excel nem engedélyez két vagy több azonos nevű függvényt egy modulban. Még az Eseményekben sem. Kétértelműséghez vezet.
Ha más feladatot szeretne végrehajtani ugyanazon az eseményen, módosítania kell az eredeti kódot, hogy megfeleljen az igényeinek.
A következő VBA-kód tehet egy szívességet. Kérjük, próbálja ki.
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
Még senki sem írt megjegyzést
Hagyja meg észrevételeit
Feladás vendégként
×
Értékeld ezt a bejegyzést:
0   Karakterek
Javasolt helyek

Kövess minket

Copyright © 2009 - www.extendoffice.com. | Minden jog fenntartva. Powered by ExtendOffice. | Oldaltérkép
A Microsoft és az Office logó a Microsoft Corporation védjegyei vagy bejegyzett védjegyei az Egyesült Államokban és / vagy más országokban.
Sectigo SSL védi