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

Cum să inserați ștampila de dată într-o celulă dacă bifați o casetă de selectare în Excel?

În mod normal, introduceți o ștampilă de dată utilizând tastele rapide în Excel. Ce zici de inserarea ștampilei de dată într-o celulă printr-o casetă de selectare în Excel? Când bifați caseta de selectare, ștampila de timp este introdusă automat într-o celulă specificată. Acest articol vă va ajuta să îl rezolvați.

Introduceți ștampila de dată într-o celulă dacă bifați o casetă de selectare cu cod VBA


Introduceți ștampila de dată într-o celulă dacă bifați o casetă de selectare cu cod VBA

Această secțiune va introduce un script VBA pentru a vă ajuta să inserați automat o ștampilă de dată într-o celulă dacă bifați o casetă de selectare în Excel. Vă rugăm să faceți următoarele.

1. După introducerea unei casete de selectare, apăsați Alt + F11 tastele simultan pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. În Microsoft Visual Basic pentru aplicații fereastră, faceți clic pe Insera > Module. Apoi copiați și lipiți codul VBA de mai jos în fereastra Module.

Cod VBA: introduceți ștampila de dată într-o celulă dacă bifați o casetă de selectare

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. presa Alt + Q tastele pentru a închide Microsoft Visual Basic pentru aplicații fereastră.

4. Faceți clic dreapta pe caseta de selectare și selectați Atribuiți Micro din meniul cu clic dreapta. Vedeți captura de ecran:

5. În Atribuiți macro fereastră de dialog, selectați CheckBox_Date_Stamp în Numele macro , apoi faceți clic pe OK buton. Vedeți captura de ecran:

Când bifați caseta de selectare, ștampila de dată va fi introdusă automat în celula adiacentă.


Articole pe aceeași temă:


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (22)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Vă mulțumesc, a fost de mare ajutor, aș dori să notez că mi se pare mai util să aveți ștampila cu data în stânga casetei de selectare. pentru a face acest lucru, trebuie doar să schimbați offset-ul la (, -1)
Acest comentariu a fost redus la minimum de moderatorul de pe site
Există vreo modalitate de a face acest lucru cu data și ora? Mulțumesc pentru informații oricum!
Acest comentariu a fost redus la minimum de moderatorul de pe site
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 & Data .Value Time End If End With End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună,
Vă rugăm să aplicați codul VBA de mai jos pentru a adăuga data și ora.

Sub CheckBox_Date_Stamp()
Dim xChk As CheckBox
Set xChk = ActiveSheet.CheckBoxes(Application.Caller)
Cu xChk.TopLeftCell.Offset(, 1)
Dacă xChk.Value = xlOff Atunci
.Valoare = ""
Altfel
.Valoare = Acum()
Final, dacă
Se termina cu
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, am încercat această formulă și a funcționat numai pentru A1 și B1 când am aplicat macro-ul la caseta de selectare din A1. Cu toate acestea, când am aplicat macro-ul la caseta de selectare din A2, nu s-a întâmplat nimic în B2. De asemenea, cum ar fi schimbată formula dacă aș dori să o folosesc pentru o listă de verificare? Dacă coloana A a fost casetele de selectare și coloana C a fost data de finalizare.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună:) puteți copia celula cu caseta de selectare din A1 în restul coloanei. sau atribuiți macro-ul individual fiecărei casete de selectare
Acest comentariu a fost redus la minimum de moderatorul de pe site
O zi buna,
Vă rugăm să atribuiți macrocomanda în mod individual fiecărei casete de selectare.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am copiat și lipit codul VBA exact, dar pe foaia mea de calcul, data apare în celula de deasupra și în dreapta coloanei casetei de selectare, nu în celula direct din dreapta. ?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am si eu exact aceeasi problema. „AJUTOR! Am nevoie de AJUTOR de cineva! Nu de AJUTOR de oricine! Știi că am nevoie de AJUTOR de cineva!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua,
Codul funcționează bine în cazul meu. După bifarea casetei de selectare, data va apărea în celula direct din dreapta. Ați oferi o captură de ecran a cazului dvs. Și ce versiune de Office folosești. Mulțumesc.
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am avut aceeași problemă cu ștampila dată și oră care apar în celula de deasupra celulei dorite (folosind Excel 2007). Am continuat și am modificat formula „offset”, astfel încât să treacă peste o celulă ȘI în jos cu o celulă și acum ștampila apare acolo unde vreau: Cu xChk.TopLeftCell.Offset(1, 1)
Actualizez o foaie de lucru pe care altcineva a creat-o și nu a creat casetele de selectare, dar poate avea legătură cu locul în care este plasată caseta de selectare în interiorul celulei. Am obținut rezultate diferite când am aliniat caseta de selectare cu partea de jos a celulei.

Sper că vă ajută!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Asta am făcut pentru a rezolva problema

Sub CheckBox_Date_Stamp()
Dim xChk As CheckBox
Set xChk = ActiveSheet.CheckBoxes(Application.Caller)
Cu xChk.TopLeftCell.Offset(1, 1)
Dacă xChk.Value = xlOff Atunci
.Valoare = ""
Altfel
.Valoare = Acum()
Final, dacă
Se termina cu
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut! Mulțumesc pentru cod. Funcționează perfect cu o mică modificare a offsetului. Cu toate acestea, lucram la o foaie care are multe și multe rânduri (~500+ rânduri) care conține o mulțime de casete de validare, iar dimensiunea fișierului a crescut semnificativ. Există vreo modalitate de a reduce dimensiunea? Vreo modalitate alternativă de a face asta?

Multumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bun da
Dacă există o mulțime de casete de selectare pe rânduri și doriți să acționați asupra tuturor casetelor de selectare în același timp, codul VBA de mai jos vă poate ajuta.
Vă rugăm să copiați codurile într-o fereastră de cod de modul, reveniți la foaia de lucru și creați un buton (cum ar fi un Buton (Controlul formularului)), atribuiți macro-ul SetAllChkChange() butonului, apoi faceți clic pe butonul pentru a rula codul.

Acum toate casetele de selectare din rândurile foii de lucru au fost activate. Puteți verifica oricare dintre ele pentru a introduce ștampila cu data în celula adiacentă.

Sub SetAllChkChange()
Dim xChks
Dim xChk As CheckBox
Dim xI As Long
La data de eroare CV următoare
Ștergeți xArrChk
Setați xChks = ActiveSheet.CheckBoxes
ReDim Preserve xArrChk(1 la xChks.count)
xI = 1
Pentru fiecare xChk în xChks
xChk.Select
Selection.OnAction = „ObjChkChange”
Pagina Următoare →
End Sub


Sub ObjChkChange()
Dim xChk As CheckBox
Set xChk = ActiveSheet.CheckBoxes(Application.Caller)
Cu xChk.TopLeftCell.Offset(, 1)
Dacă xChk.Value = xlOff Atunci
.Valoare = ""
Altfel
.Valoare = Data
Final, dacă
Se termina cu
End Sub
Acest comentariu a fost redus la minimum de moderatorul de pe site
cum fac ca ștampila cu data să fie afișată sub caseta mea de selectare?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Salut! Se pare că nu găsesc o modalitate în care marcajul de dată va fi pe partea laterală a casetei de validare. Am încercat să schimb valoarea offset-ului de la 0, 1 și -1. Poți să mă ajuți cu asta? mulțumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, să presupunem că caseta dvs. de selectare este în A2 și doriți să scoateți marcajul cu data în partea dreaptă a casetei de selectare (în acest caz este B2), vă rugăm să modificați valoarea Offset la Offset(1, 1).
Acest comentariu a fost redus la minimum de moderatorul de pe site
Am folosit VBA pentru marcajul de timp al casetei de selectare, dar primele două celule nu funcționează corect. Prima mea casetă de selectare este în A2, când bifez caseta, ora este afișată în B1. Cum repar asta?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Hi Steve,
Vă rugăm să înlocuiți a patra linie din cod cu With xChk.TopLeftCell.Offset(1, 1).
Acest comentariu a fost redus la minimum de moderatorul de pe site
Mulțumesc foarte mult!! Sclipitor! Mulțumesc!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună, cum pot bucla codul pentru a include toate casetele de selectare din coloană?
Acest comentariu a fost redus la minimum de moderatorul de pe site
Bună ziua,
Dacă există o mulțime de casete de selectare în rânduri și doriți să acționați asupra tuturor casetelor de selectare în același timp, codul VBA de mai jos vă poate ajuta.
Vă rugăm să copiați codurile de mai jos într-o fereastră de cod de modul, reveniți la foaia de lucru și creați un buton (cum ar fi un buton (control formular)), atribuiți macro-ul SetAllChkChange() la butonul, apoi faceți clic pe butonul pentru a rula codul.

Acum toate casetele de selectare din rândurile foii de lucru au fost activate. Puteți verifica oricare dintre ele pentru a introduce ștampila cu data în celula adiacentă.

Sub SetAllChkChange()
„Actualizat de Extendoffice 20211130
Dim xChks
Dim xChk As CheckBox
La data de eroare CV următoare
Setați xChks = ActiveSheet.CheckBoxes
Pentru fiecare xChk în xChks
xChk.Select
Selection.OnAction = „ObjChkChange”
Pagina Următoare →
End Sub

Sub ObjChkChange()
Dim xChk As CheckBox
Set xChk = ActiveSheet.CheckBoxes(Application.Caller)
Cu xChk.TopLeftCell.Offset(, 1)
Dacă xChk.Value = xlOff Atunci
.Valoare = ""
Altfel
.Valoare = Data
Final, dacă
Se termina cu
End Sub
Nu există comentarii postate aici încă
Lăsa comentarii
Postare ca invitat
×
Evaluează această postare:
0   Caractere
Locații sugerate

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL