Codice vb data dopo modifica
Hai un problema con Excel? 
Codice vb data dopo modifica
di Davide (utente non iscritto) data: 22/01/2013 00:41:20
Buongiorno a tutti,
spero possiate aiutarmi. Ho una cartella condivisa con un mio collega e ognuno può modificare il contenuto delle celle. Tuttavia per chiarire chi ha fatto cosa ma soprattutto quando, avevo intenzione di inserire una macro che permetta di tracciare ogni modifica: ogni qual volta venga cambiato il contenuto di una cella della colonna L, vorrei che mi venga scritto nella cella adiacente (colonna M), il giorno e l'ora della modifica.. Potrebbe essere possibile far scrivere anche il nome utente che ha effettuato la modifica?? Sarebbe il top non plus ultra!
Mi aiutereste gentilmente?
Grazieeee!
Davide
di HarryBosch data: 22/01/2013 09:49:42
Con l'evento "Change" si determina se un determinato Range è stato modificato.
La routine la devi scrivere nel modulo del Foglio dove intervenite con le modifiche della colonna L (quindi non in un Modulo standard).
Per riportare l'ora e la data corrente puoi usare "Now" (ma anche "Time" e "Date" combinati), mentre per conoscere il nome dell'utente del pc in uso si può utilizzare "application.name" (non sempre preciso perché ovviamente dipende dal nome inserito nel pc in uso).
Prova con questa sotto, che interviene soltanto sulle modifiche della colonna L
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Columns("L")) Is Nothing Then Exit Sub
Target.Offset(, 1) = Now 'oppure Time & "-" & Date
Target.Offset(, 2) = Application.UserName
End Sub
|
di Vecchio Frac data: 22/01/2013 10:06:13
Application.userName è un'ottima idea, ma funziona bene solo se ognuno ha specificato nella scheda Generale di Strumenti Opzioni il proprio nome utente.
In certe applicazioni io utilizzo Environ("USERNAME") che pesca dalle variabili di ambiente il nome utente come loggato ma questo funziona se:
- sei in Windows
- hai effettuato un login con un nome utente e una password
(per me funziona perchè ovviamente stiamo tutti in una LAN aziendale dove ogni accesso è necessario effettuarlo con nome utente aziendale+password )
di Davide (utente non iscritto) data: 22/01/2013 10:43:31
Eccezionale!!! Grandissimo!!
Vuoi Approfondire?