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

Come aggiungere / inserire automaticamente la data / ora corrente in una cella con doppio clic in Excel?

Se è necessario inserire frequentemente la data corrente o l'ora della data in un foglio di lavoro, è possibile provare il metodo in questo articolo. Questo articolo ti aiuterà ad aggiungere o inserire automaticamente la data corrente o la data in celle di un intervallo specificato con un solo doppio clic.

Fare doppio clic per aggiungere / inserire automaticamente la data corrente o la data con il codice VBA


Fare doppio clic per aggiungere / inserire automaticamente la data corrente o la data con il codice VBA

È possibile eseguire il codice VBA sottostante per aggiungere automaticamente la data corrente o l'ora della data in una cella con doppio clic. Si prega di fare quanto segue.

1. Fare clic con il pulsante destro del mouse sulla scheda Foglio in cui si desidera inserire la data corrente nelle celle specificate, quindi selezionare Visualizza codice dal menu di scelta rapida.

2. Nel Microsoft Visual basic per applicazioni finestra, copia e incolla il codice VBA sottostante nella finestra del codice.

Codice VBA: fare doppio clic per aggiungere la data corrente in una cella

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

Note:

1. Nel codice, A1: B10 è l'intervallo a cui aggiungere la data corrente.
2. Se è necessario aggiungere la data e l'ora corrente nella cella, sostituire Data con Adesso() nel codice. Puoi cambiarli secondo le tue necessità.

3. Stampa altro + Q contemporaneamente i tasti per chiudere il file Microsoft Visual Basic, Applications Edition finestra e tornare al foglio di lavoro.

D'ora in poi, quando si fa doppio clic su una cella nell'intervallo specificato A1: B10. La data corrente o la data e l'ora verranno inserite automaticamente.


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 (28)
Ancora nessuna valutazione. Puoi essere il primo a votare!
Questo commento è stato fatto dal moderatore sul sito
Come lo estendiamo per aggiungere più intervallo di celle? Ho aggiunto queste celle extra nell'intervallo al codice: (Target, Range("C10:C19", "D10:D19", "E10:E19")) tuttavia mi sta dando un errore di compilazione che dice "numero di argomenti errato o assegnazioni di proprietà non valide" e quindi evidenzia la prima riga di codice che hai fornito "Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)" Per favore aiutami.
Questo commento è stato fatto dal moderatore sul sito
Joel, non so se stai ancora cercando una soluzione, ma devi cambiare il tuo codice:

Da: (Target, Intervallo("C10:C19", "D10:D19", "E10:E19"))
A: (Target, Intervallo("C10:C19,D10:D19,E10:E19"))

Questo lo farà per te.
Questo commento è stato fatto dal moderatore sul sito
Ciao Nick,
vorrei avere un vostro consiglio su questo argomento....
Ho un file che chiamo "foglio di produttività".... Su questo foglio vorrei inserire l'ora effettiva, nelle celle selezionate, in cui si fa clic sulla cella... (Se possibile, vorrei queste celle dopo che il tempo sembra diventare immutabile ..... qualcosa come essere bloccato.)
Apprezzo il tuo tempo e grazie in anticipo
Attila, Ungheria
exyzee@gmail.com
Questo commento è stato fatto dal moderatore sul sito
Caro Attila,
Si prega di provare lo screenshot qui sotto per inserire il tempo effettivo per la cella in un intervallo certo quando viene cliccato.
(La funzione di blocco automatico delle celle non può essere raggiunta, mi dispiace per quello)

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
Application.ScreenUpdating = False
If Not Intersect(Target, Range("A1:B10")) non è niente allora
Annulla = Vero
Target.Formula = Data
End If
End Sub
Questo commento è stato fatto dal moderatore sul sito
Il codice funziona davvero... Grazie... ho aggiunto un altro codice per proteggere la cella dopo l'inserimento dei dati. Ora il problema è che, una volta inseriti i dati e la cella è protetta e per errore se faccio doppio clic sulla cella protetta, il codice sopra va storto per l'intero foglio. Non funziona allora. Devo rimuovere la protezione del foglio per portare il codice attivo. Qualche soluzione?

Il Codice di protezione utilizzato è il seguente:

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg come intervallo
On Error Resume Next
Imposta xRg = Interseca(Intervallo("A1:a1000,b1:b1000,G1:G1000"), Obiettivo)
Se xRg non è niente, esci da Sub
Target.Worksheet.Unprotect Password:="123"
xRg.Locked = Vero
Target.Worksheet.Protect Password:="123"
End Sub
Questo commento è stato fatto dal moderatore sul sito
Caro Paolo,
Provo il codice che hai fornito. L'intero foglio di lavoro verrà protetto immediatamente dopo aver inserito i dati in una qualsiasi delle celle protette specificate.
Inoltre, quando si fa doppio clic sulla cella protetta, nel mio caso non cambia nulla al codice.
Ci spiegheresti esattamente cosa stai cercando di fare con il codice?
Questo commento è stato fatto dal moderatore sul sito
Scusa ho capito il tuo punto. (manca il codice sopra)
Questo commento è stato fatto dal moderatore sul sito
Il codice di inserimento del doppio clic creato è:


Foglio di lavoro secondario privato_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A1:a1000")) non è nulla allora
Annulla = Vero
Target.Formula = Data
End If

If Not Intersect(Target, Range("b1:b1000")) non è niente allora
Annulla = Vero
Target.Formula = Tempo
End If

If Not Intersect(Target, Range("g1:g1000")) non è nulla allora
Annulla = Vero
Target.Formula = Tempo
End If
End Sub
Questo commento è stato fatto dal moderatore sul sito
Caro Paolo,
Si prega di provare il seguente codice VBA.

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg come intervallo
On Error Resume Next
Imposta xRg = Interseca(Intervallo("A1:a1000,b1:b1000,G1:G1000"), Obiettivo)
Se xRg non è niente, esci da Sub
Target.Worksheet.Unprotect Password:="123"
xRg.Locked = Vero
Target.Worksheet.Protect Password:="123"
End Sub

Foglio di lavoro secondario privato_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
Application.EnableEvents = False
ActiveSheet.Unprotect Password:="123"
If Not Intersect(Target, Range("A1:a1000")) non è nulla allora
Annulla = Vero
Target.Formula = Data
End If
If Not Intersect(Target, Range("b1:b1000")) non è niente allora
Annulla = Vero
Target.Formula = Tempo
End If
If Not Intersect(Target, Range("g1:g1000")) non è nulla allora
Annulla = Vero
Target.Formula = Tempo
End If
Password di ActiveSheet.Protect:="123"
Application.EnableEvents = True
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ho copiato e incollato il codice aggiornando l'intervallo e non ha funzionato :-(


Foglio di lavoro secondario privato_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("B4:B100")) non è niente allora
Annulla = Vero
Target.Formula = Adesso()
End If
End Sub
Questo commento è stato fatto dal moderatore sul sito
Buona giornata,
Il codice funziona bene nel mio caso. Puoi dirmi la tua versione di Office?
Questo commento è stato fatto dal moderatore sul sito
Ciao, il codice che hai fornito funziona benissimo. Sono solo curioso di sapere se c'è un modo per avere il testo "fai doppio clic per aggiungere la data" nella cella fino a quando non viene inserita la data. Grazie in anticipo (sto cercando di rendere il mio documento il più facile da usare possibile per non confondere i miei colleghi)
Questo commento è stato fatto dal moderatore sul sito
Ciao, il codice sopra ha funzionato benissimo per me. Ora mi chiedo solo se c'è un modo per far apparire nella cella il testo "Doppio clic per inserire la data" fino a quando non viene inserita la data. Il mio obiettivo è rendere il documento il più intuitivo possibile. Grazie in anticipo
Questo commento è stato fatto dal moderatore sul sito
Ciao Travis,
Non possiamo modificare il codice per visualizzare direttamente il testo nella cella. Ma in alternativa, il codice ottimizzato di seguito aiuterà a visualizzare il testo nel commento della cella e il commento verrà rimosso automaticamente dopo aver fatto doppio clic sulla cella per inserire la data.

Private Sub Worksheet_SelectionChange (ByVal Target As Range)
If Not Intersect(Target, Range("A1:B10")) non è niente allora
Target.NoteText "fai doppio clic per aggiungere la data"
End If
End Sub

Foglio di lavoro secondario privato_BeforeDoubleClick(ByVal target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("A1:B10")) non è niente allora
Annulla = Vero
Target.Comment.Delete
Target.Formula = Data
End If
End Sub
Questo commento è stato fatto dal moderatore sul sito
Hi there,

Ho copiato e incollato il codice sopra esattamente come è scritto in una cartella di lavoro vuota, tuttavia non funziona per me. Ho esaminato diverse fonti sul Web e la maggior parte dei siti ha un formato simile a quello scritto sopra. Penso che forse c'è qualcosa di sbagliato nel mio VBA o alcune impostazioni non sono attivate. Qualsiasi consiglio sarebbe molto apprezzato. Sto eseguendo Excel per Office 365 MSO (16.0.11001.20097) a 32 bit su Windows 10.
Questo commento è stato fatto dal moderatore sul sito
Adoro il codice e funziona benissimo. Come posso fare in modo che quando faccio doppio clic per eseguire il codice mostra l'ora in tempo militare?
Questo commento è stato fatto dal moderatore sul sito
Ciao Dylan,
Mi dispiace non poterti aiutare con quello ancora. Grazie per il tuo commento.
Questo commento è stato fatto dal moderatore sul sito
Penso che se selezioni il formato dell'ora militare per quella cella dalle opzioni Formato -> Numero -> Ora nel tuo foglio, dovrebbe funzionare. Ad esempio, offre l'opzione 1:30 o 13:30, quindi dovresti semplicemente selezionare 13:30 e dovrebbe farlo.
Questo commento è stato fatto dal moderatore sul sito
Penserei che se selezioni semplicemente il formato dell'ora militare per quella cella dalle opzioni Numero -> Formato ora che dovrebbero farlo. Ad esempio, dovresti selezionare 13:30 invece di 1:30, quindi dovrebbe essere visualizzato in orario militare.
Questo commento è stato fatto dal moderatore sul sito
Qualcuno sa se esiste un modo per inserire questo codice in Excel Online? L'avevo usato con la versione desktop e funzionava benissimo, ma ora abbiamo migrato tutto sulla piattaforma online e la mia data e ora sul doppio clic sono scomparse e non riesco a capire come visualizzare o modificare il codice. Grazie.
Questo commento è stato fatto dal moderatore sul sito
Quindi ho inserito il codice e funziona benissimo su diversi fogli nella mia cartella di lavoro, tuttavia su alcuni fogli smette improvvisamente di funzionare dopo una determinata riga anche se ho inserito l'intervallo corretto. Qualsiasi pensiero sul perché questo potrebbe accadere.
Questo commento è stato fatto dal moderatore sul sito
Questo era proprio quello che stavo cercando: questo fa risparmiare un sacco di tempo e apprezzo le istruzioni ben scritte. Grazie!
Questo commento è stato fatto dal moderatore sul sito
Ciao, il codice ha fatto molto per me, come posso limitare il funzionamento del codice solo se il campo è vuoto. Se una data è già presente nella cella, fare doppio clic non dovrebbe fare nulla, saluti
Questo commento è stato fatto dal moderatore sul sito
Ciao Ahmad,
Scusa per il disturbo. Per riempire solo le celle vuote con le date facendo doppio clic, puoi applicare il seguente codice VBA per farlo.
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
Questo commento è stato fatto dal moderatore sul sito
Questa funzione non ha funzionato. Facendo doppio clic si entra semplicemente nella modifica manuale della cella.
Questo commento è stato fatto dal moderatore sul sito
Ciao Bob,
Il codice funziona bene nel mio caso. Ho bisogno di sapere più specifico sul tuo problema, come la tua versione di Excel.
E il codice funziona solo sulle celle che hai specificato.
Questo commento è stato fatto dal moderatore sul sito
Ciao a tutti,

Provo a usare quella macro per usare il timbro della data facendo doppio clic sulla colonna E e funziona ma quando provo a replicare la macro per fare lo stesso ma per l'ora corrente sulla colonna F non funziona come puoi vedere in allegato ho un messaggio di errore che indica: Nome ambiguo rilevato.
Quando provo a cambiare la parte del foglio di lavoro secondario con un altro nome e faccio doppio clic nelle celle, non succede nulla.

Qualcuno potrebbe aiutarmi in merito?

Il mio codice:


Foglio di lavoro secondario_Prima di DoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("E1:E10000")) non è nulla allora
Annulla = Vero
Target.Formula = Data
End If
End Sub

Foglio di lavoro secondario_Prima di DoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("F1:F10000")) non è niente allora
Annulla = Vero
Target.Formula = Adesso()
End If
End Sub
Questo commento è stato fatto dal moderatore sul sito
Ciao Louis,
La replica della macro causerà due stesse procedure con lo stesso nome in una finestra di codice di foglio singolo. Excel non consente due o più stessi nomi di funzioni in un modulo. Nemmeno in Eventi. Porta all'ambiguità.
Se desideri eseguire un'attività diversa sullo stesso evento, devi modificare il codice originale per soddisfare le tue esigenze.
Il seguente codice VBA può farti un favore. Per favore, provalo.
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
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