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

Come inserire il timbro della data in una cella se è stata selezionata una casella di controllo in Excel?

Normalmente, inserisci un timbro della data utilizzando i tasti di scelta rapida in Excel. Che ne dici di inserire il timbro della data in una cella tramite una casella di controllo in Excel? Quando si spunta la casella di controllo, il timestamp viene inserito automaticamente in una cella specificata. Questo articolo ti aiuterà a risolverlo.

Inserisci il timbro della data in una cella se è selezionata una casella di controllo con il codice VBA


Inserisci il timbro della data in una cella se è selezionata una casella di controllo con il codice VBA

Questa sezione introdurrà uno script VBA per aiutarti a inserire automaticamente un timbro data in una cella se è selezionata una casella di controllo in Excel. Si prega di fare quanto segue.

1. Dopo aver inserito una casella di controllo, premere altro + F11 tasti contemporaneamente per aprire il file Microsoft Visual Basic, Applications Edition finestra.

2. Nel Microsoft Visual Basic, Applications Edition finestra, fare clic inserire > Modulo. Quindi copia e incolla il codice VBA sottostante nella finestra del modulo.

Codice VBA: inserisci il timbro della data in una cella se è selezionata una casella di controllo

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. Stampa altro + Q i tasti per chiudere il file Microsoft Visual Basic, Applications Edition finestra.

4. Fare clic con il pulsante destro del mouse sulla casella di controllo e selezionare Assegna Micro dal menu di scelta rapida. Vedi screenshot:

5. Nel Assegna macro finestra di dialogo, selezionare CheckBox_Date_Stamp nel Nome della macro casella, quindi fare clic su OK pulsante. Vedi screenshot:

Quando si spunta la casella di controllo, il timbro della data verrà inserito automaticamente nella cella adiacente.


Articoli correlati:


I migliori strumenti per la produttività in ufficio

Kutools per Excel risolve la maggior parte dei tuoi problemi e aumenta la tua produttività dell'80%

  • Riutilizzo: Inserisci rapidamente formule complesse, grafici e tutto ciò che hai usato prima; Crittografa celle con password; Crea mailing list e invia email ...
  • Bar Super Formula (modifica facilmente più righe di testo e formula); Layout di lettura (leggi e modifica facilmente un gran numero di celle); Incolla su intervallo filtrato...
  • Unisci celle / righe / colonne senza perdere dati; Contenuto delle celle divise; Combina righe / colonne duplicate... Impedisci celle duplicate; Confronta intervalli...
  • Seleziona Duplica o Unico Righe; Seleziona Righe vuote (tutte le celle sono vuote); Super Find e Fuzzy Find in molte cartelle di lavoro; Selezione casuale ...
  • Copia esatta Più celle senza modificare il riferimento della formula; Riferimenti di creazione automatica a più fogli; Inserisci punti elenco, Caselle di controllo e altro ...
  • Estrai testo, Aggiungi testo, Rimuovi per posizione, Rimuovi spazio; Creare e stampare totali parziali di paging; Converti contenuto e commenti tra celle...
  • Super filtro (salva e applica schemi di filtri ad altri fogli); Ordinamento avanzato per mese / settimana / giorno, frequenza e altro; Filtro speciale in grassetto, corsivo ...
  • Combina cartelle di lavoro e fogli di lavoro; Unisci tabelle in base a colonne chiave; Suddividi i dati in più fogli; Conversione in batch xls, xlsx e PDF...
  • Più di 300 potenti funzionalità. Supporta Office/Excel 2007-2021 e 365. Supporta tutte le lingue. Facile implementazione nella tua azienda o organizzazione. Funzionalità complete Prova gratuita di 30 giorni. Garanzia di rimborso di 60 giorni.
scheda kte 201905

Scheda Office porta l'interfaccia a schede a Office e semplifica notevolmente il lavoro

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede della stessa finestra, piuttosto che in nuove finestre.
  • Aumenta la produttività del 50% e riduce ogni giorno centinaia di clic del mouse!
fondo officetab
Commenti (22)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Grazie, questo è stato molto utile, vorrei notare che trovo più utile avere il timbro della data a sinistra della casella di controllo. per farlo basta cambiare l'offset in (, -1)
Questo commento è stato fatto dal moderatore sul sito
C'è un modo per farlo con la data E l'ora? Grazie per le informazioni in ogni caso!
Questo commento è stato fatto dal moderatore sul sito
Sub CheckBox_Date_Stamp() Dim xChk As CheckBox Set xChk = ActiveSheet.CheckBoxes(Application.Caller) With xChk.TopLeftCell.Offset(, 1) Se xChk.Value = xlOff Allora .Value = "" Altrimenti .Value = Data & " " & Tempo Fine Se Fine Con Fine Sub
Questo commento è stato fatto dal moderatore sul sito
Ciao,
Si prega di applicare sotto il codice VBA per aggiungere data e ora.

Sub CheckBox_Date_Stamp()
Dim xChk come casella di controllo
Imposta xChk = ActiveSheet.CheckBoxes(Application.Caller)
Con xChk.TopLeftCell.Offset(, 1)
Se xChk.Value = xlOff Allora
.Valore = ""
Altro
.Valore = Adesso()
End If
Fine Con
End Sub
Questo commento è stato fatto dal moderatore sul sito
CIAO ho provato questa formula e ha funzionato solo per A1 e B1 quando ho applicato la macro alla casella di controllo in A1. Tuttavia, quando ho applicato la macro alla casella di controllo in A2, non è successo nulla in B2. Inoltre, come cambierebbe la formula se volessi usarlo per una lista di controllo? Se la colonna A era la casella di controllo e la colonna C è stata completata con la data.
Questo commento è stato fatto dal moderatore sul sito
Ciao :) puoi copiare la cella con la casella di controllo in A1 nel resto della colonna. oppure assegna la macro individualmente a ciascuna casella di controllo
Questo commento è stato fatto dal moderatore sul sito
Buon Giorno,
Assegna la macro individualmente a ciascuna casella di controllo.
Questo commento è stato fatto dal moderatore sul sito
Ho copiato e incollato esattamente il codice VBA, ma sul mio foglio di calcolo, la data appare nella cella sopra ea destra della colonna della casella di controllo, non nella cella direttamente a destra. ?
Questo commento è stato fatto dal moderatore sul sito
Anche io ho lo stesso identico problema. "AIUTO! Ho bisogno di qualcuno AIUTO! Non solo di chiunque AIUTO! Sai che ho bisogno di qualcuno AIUTO!
Questo commento è stato fatto dal moderatore sul sito
Buona giornata,
Il codice funziona bene nel mio caso. Dopo aver selezionato la casella di controllo, la data apparirà nella cella direttamente a destra. Forniresti uno screenshot del tuo caso. E quale versione di Office usi. Grazie.
Questo commento è stato fatto dal moderatore sul sito
Ho avuto lo stesso problema con la data e l'ora che appaiono nella cella sopra la cella prevista (usando Excel 2007). Sono andato avanti e ho modificato la formula "offset" in modo che vada su una cella E giù di una cella e ora il timbro appare dove lo voglio: Con xChk.TopLeftCell.Offset(1, 1)
Sto aggiornando un foglio di lavoro che qualcun altro ha creato e non ha creato le caselle di controllo, ma potrebbe avere a che fare con il punto in cui all'interno della cella è posizionata la casella di controllo. Ho ottenuto risultati diversi quando ho allineato la casella di controllo con la parte inferiore della cella.

Speranza che aiuta!
Questo commento è stato fatto dal moderatore sul sito
Questo è ciò che ho fatto per risolvere il problema

Sub CheckBox_Date_Stamp()
Dim xChk come casella di controllo
Imposta xChk = ActiveSheet.CheckBoxes(Application.Caller)
Con xChk.TopLeftCell.Offset(1, 1)
Se xChk.Value = xlOff Allora
.Valore = ""
Altro
.Valore = Adesso()
End If
Fine Con
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ciao! Grazie per il codice. Funziona perfettamente con un piccolo ritocco sull'offset. Tuttavia, stavo lavorando su un foglio che ha molte molte righe (~ 500+ righe) che contiene un carico di caselle di controllo e la dimensione del file è cresciuta in modo significativo. C'è un modo per ridurre le dimensioni? Qualche modo alternativo per farlo?

Grazie!
Questo commento è stato fatto dal moderatore sul sito
Buon papà
Se ci sono molte caselle di controllo nelle righe e vuoi agire su tutte le caselle di controllo contemporaneamente, il codice VBA seguente può aiutarti.
Copiare i codici in una finestra del codice del modulo, tornare al foglio di lavoro e creare un pulsante (come un pulsante (controllo modulo)), assegnare la macro SetAllChkChange() al pulsante, quindi fare clic sul pulsante per eseguire il codice.

Ora tutte le caselle di controllo nelle righe del foglio di lavoro sono state attivate. Puoi controllarne uno qualsiasi per inserire il timbro della data nella cella adiacente.

Sub SetAllChkChange()
Dim xChks
Dim xChk come casella di controllo
Dim xI Fino a quando
On Error Resume Next
Cancella xArrChk
Imposta xChks = ActiveSheet.CheckBoxes
ReDim Conserva xArrChk(da 1 a xChks.count)
xI = 1
Per ogni xChk In xChks
xChk.Seleziona
Selection.OnAction = "ObjChkChange"
Successiva
End Sub


Sub ObjChkChange()
Dim xChk come casella di controllo
Imposta xChk = ActiveSheet.CheckBoxes(Application.Caller)
Con xChk.TopLeftCell.Offset(, 1)
Se xChk.Value = xlOff Allora
.Valore = ""
Altro
.Valore = Data
End If
Fine Con
End Sub
Questo commento è stato fatto dal moderatore sul sito
come faccio a visualizzare il timbro della data sotto la mia casella di controllo?
Questo commento è stato fatto dal moderatore sul sito
Ciao! non riesco a trovare un modo in cui nel datestamp sarà sul lato della casella di controllo. ho provato a cambiare il valore di offset da 0, 1 e -1. Puoi aiutarmi con questo? grazie!
Questo commento è stato fatto dal moderatore sul sito
Ciao, supponendo che la tua casella di controllo sia in A2 e desideri emettere il datastamp sul lato destro della casella di controllo (in questo caso è B2), cambia il valore di Offset in Offset(1, 1).
Questo commento è stato fatto dal moderatore sul sito
Ho usato il VBA per il timestamp della casella di controllo, ma le prime due celle non funzionano correttamente. La mia prima casella di controllo è in A2, quando segno la casella, l'ora viene pubblicata in B1. Come posso risolvere questo problema?
Questo commento è stato fatto dal moderatore sul sito
Ciao Steve,
Sostituire la quarta riga nel codice con With xChk.TopLeftCell.Offset(1, 1).
Questo commento è stato fatto dal moderatore sul sito
Grazie mille!! Brillante! Grazie!
Questo commento è stato fatto dal moderatore sul sito
Ciao, come posso eseguire il loop del codice per includere tutte le caselle di controllo nella colonna?
Questo commento è stato fatto dal moderatore sul sito
Buona giornata,
Se ci sono molte caselle di controllo nelle righe e vuoi agire su tutte le caselle di controllo contemporaneamente, il codice VBA seguente può aiutarti.
Copia i codici seguenti in una finestra del codice del modulo, torna al foglio di lavoro e crea un pulsante (come un pulsante (controllo modulo)), assegna la macro SetAllChkChange() al pulsante, quindi fare clic sul pulsante per eseguire il codice.

Ora tutte le caselle di controllo nelle righe del foglio di lavoro sono state attivate. Puoi controllarne uno qualsiasi per inserire il timbro della data nella cella adiacente.

Sub SetAllChkChange()
'Aggiornato da Extendoffice 20211130
Dim xChks
Dim xChk come casella di controllo
On Error Resume Next
Imposta xChks = ActiveSheet.CheckBoxes
Per ogni xChk In xChks
xChk.Seleziona
Selection.OnAction = "ObjChkChange"
Successiva
End Sub

Sub ObjChkChange()
Dim xChk come casella di controllo
Imposta xChk = ActiveSheet.CheckBoxes(Application.Caller)
Con xChk.TopLeftCell.Offset(, 1)
Se xChk.Value = xlOff Allora
.Valore = ""
Altro
.Valore = Data
End If
Fine Con
End Sub
Non ci sono ancora commenti pubblicati qui
Lasciate i vostri commenti
Pubblicazione come ospite
×
Valuta questo post:
0   Personaggi
Posizioni suggerite

Seguici

Copyright © 2009 - www.extendoffice.com. | Tutti i diritti riservati. Offerto da ExtendOffice, | Mappa del sito
Microsoft e il logo Office sono marchi o marchi registrati di Microsoft Corporation negli Stati Uniti e / o in altri paesi.
Protetto da Sectigo SSL