Hogyan rögzítsük automatikusan a dátumot és az időt, amikor a cella megváltozik?
Könnyű számunkra a statikus dátum és idő manuális beszúrása, vagy a rendszer idővel változó dinamikus dátum beillesztése képlettel. Ha az értékek megváltoztatásakor vagy beírásakor automatikusan rögzíteni kívánja a dátumot és az időt, akkor ez a probléma némileg eltérő lehet. Ebben a cikkben azonban ezt a feladatot a következő lépésekkel oldhatja meg.
Automatikusan rögzítse a dátumot és az időt, amikor a cella VBA kóddal változik
Automatikusan rögzítse a dátumot és az időt, amikor a cella VBA kóddal változik
Például van egy értéktartományom, és most, amikor új értékeket módosítok vagy beírok a B oszlopba, azt akarom, hogy automatikusan rögzítsék az aktuális dátumot és időt a C oszlopban, az alábbi képernyőkép szerint:
Ezt a feladatot a VBA kód követésével fejezheti be. Kérjük, tegye a következőket:
1. Tartsa lenyomva a ALT + F11 billentyűk megnyitásához Microsoft Visual Basic for Applications ablak.
2. Ezután válassza ki a használt munkalapot balról Project Explorer, kattintson duplán a fájl megnyitásához Modulok, majd másolja és illessze be a következő VBA kódot az üres modulba:
VBA kód: A cella változásakor automatikusan rögzíti a dátumot és az időt
Private Sub Worksheet_Change(ByVal Target As Range)
'Update 20140722
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 1
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now
Rng.Offset(0, xOffsetColumn).NumberFormat = "dd-mm-yyyy, hh:mm:ss"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub
3. Ezután mentse el és zárja be ezt a kódot, hogy visszatérjen a munkalapra. Most, amikor megváltoztatja a cella értékét, vagy új adatokat ír be a B oszlopba, a dátum és az idő automatikusan rögzítésre kerül a C oszlopban.
Megjegyzések:
1. A fenti kódban módosíthatja aB: B”Bármely más oszlopra, ahol meg akarja változtatni a cella értékeit ebben a szkriptben: WorkRng beállítása = Metszés (Application.ActiveSheet.Range ("B: B"), Cél).
2. Ezzel xOffsetColumn = 1 szkriptet, beillesztheti és frissítheti a dátumot és az időt a változó érték oszlop melletti első oszlopba, megváltoztathatja az 1 számot más számokra, például 2,3,4,5 ... ez azt jelenti, hogy a dátum beillesztésre kerül második, harmadik, negyedik vagy ötödik oszlop a megváltozott értékek oszlop mellett.
3. Ha töröl egy értéket a megváltozott oszlopból, a dátum és az idő is törlődik.
A legjobb irodai hatékonyságnövelő eszközök
Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz. Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...
Az Office lap füles felületet hoz 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!