La consultazione del forum è libera per tutti.
Per poter porre un quesito è invece necessario essere un utente registrato (clicca qui se non lo sei).
Tutti gli utenti che richiedono un supporto, come da REGOLAMENTO, sono caldamente invitati ad allegare un file di esempio con l'indicazione di quello che si desidera ottenere.
Buongiorno
vorrei creare una formula che mi restituisca la data e l'ora in cui viene modificata una determinata cella che contiene un valore numerico
Grazie
ciao
ci vuole il VBA
la modifica della cella viene fatta a mano o con formula
se con formula mi serve vedere la formula
e se possibile la struttura del file
@gianfranco55 il file devo ancora terminarlo ma quello di cui avrei bisogno è molto semplice...
ho bisogno che quando viene compilata una determinata cella venga riportata l'ora e la data di compilazione in un'altra cella... l'importante che questo valore non si aggiorni ad ogni riapertura del file...
ciao
diciamo che scrivi sulla colonna A e vuoi la data in colonna B
nel foglio
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub If Not Intersect(Target, Range("A1:A1000")) Is Nothing Then Target.Offset(0, 1) = Date End If End Sub
non funziona se la colonna A è compilata da formule
@gianfranco55 Grazie... ma già che hai fatto 30... se volessi mettere data e ora, anche in due celle differenti e se la colonna non fosse la A..????
😀
ciao
in celle differenti
(usa -Target.Offset(0, 2) = Format(Time, "Short Time")- se non vuoi i secondi)
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub If Not Intersect(Target, Range("A1:A1000")) Is Nothing Then Target.Offset(0, 1) = Format(Date, "Short Date") Target.Offset(0, 2) = Format(Time, "Long Time") End If End Sub
nella stessa cella
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Or IsEmpty(Target) Then Exit Sub If Not Intersect(Target, Range("A1:A1000")) Is Nothing Then Target.Offset(0, 1) = Now End If End Sub
per la colonna basta cambiare il range
Intersect(Target, Range("A1:A1000")
per lo spostamento di colonna
Target.Offset(0, 1) = Now.........una colonna a destra
Target.Offset(0, 5) = Now........cinque colonne a destra
vedi tu in che colonna ti serve il dato
@gianfranco55 Grazie mille... funziona benissimo... ma se la cella non fosse una ma un intervallo...? mi spiego... io vorrei inserire data e ora in celle differenti e questo l'ho fatto... ma il controllo dovrei inserirlo su più celle tipo:
ho un intervallo di 9 celle da D7 a L7 che possono essere compilate (anche non tutte) e vorrei inserire la data in X7 e l'ora in Y7 di riempimento dell'intervallo D7:L7.
Al momento mi restituisce solo data e ora di riempimento di D7...
In alternativa mi basterebbe data e ora quando una determinata cella (che è il risultato di una formula contenente i valori da D7:L7 cambia da 0 a maggiore di 0
Spero di essermi spiegato...
Grazie
ciao
cambia il range
Intersect(Target, Range("D7:L7")
Ma non ho capito
se D7........X7...Y7
se E7.....sempre x/y o diventa Z/AA
o rimangono tutte in X7/Y7
@gianfranco55 Grazie mille... scusa ma ho un sacco di idee molto confuse...
è una tabella e ho bisogno data e ora di compilazione di una o più celle dell'intervallo d6:k6 rispettivamente in x6 e y6... dell'intervallo d7:k7 rispettivamente in x7 e y7e via così per tutte le righe fino a d36:k36...
Ti ringrazio anticipatamente per la pazienza
Ok
vediamo se ho capito
da D7 a K7 tu inserisci dei dati
l'ultimo dato inserito deve essere registrato come data e ora
in X7-Y7
questo da riga 6 a riga 36