Una macro che mostra come sia possibile registrae (nelle note) l'utente e la data di modifica di una cella, utilizza l'evento
Change del foglio.
Nell'esempio sotto la prima procedura risponde all'evento change, che viene richiamato per tutte le celle, e filtra per quali celle annotare la modifica.
La seconda inserisce una riga di commento nella forma gg/mm/aa - Utente - Valore inseirto
Private Sub Worksheet_Change(
ByVal Target As Range)
Colonna =
Left(
Target.
Address(RowAbsolute:=False, ColumnAbsolute:=False), 1)
Riga =
Target.
Rows
' Richiama la procedura che annota le modifiche per la
' colonna C e le righe dalla 4 in poi
If (Colonna = "C" And Riga >= 4)
Then
RegistraModifica
Target
End If
End Sub
Sub RegistraModifica(
ByRef Cella As Range)
UserName = Environ$("USERNAME")
Adesso =
Now()
' Riga da aggiungere al commento
Testo =
Format(Adesso, "dd/mm/yy hh:mm") & " - " & UserName & " - " &
Cella.Value
If (
Cella.
Comment Is Nothing)
Then
' Se non c'è già un commento lo crea con il testo
Cella.
AddComment (Testo)
Cella.
Comment.Visible = False
Cella.
Comment.Shape.ScaleWidth 2, msoFalse, msoScaleFromTopLeft
Cella.
Comment.Shape.TextFrame.
Characters.
Font.Size = 10
Else
' Se è già presente un commento aggiunge il nuovo nella prima riga
TestoPrec =
Cella.
Comment.Text
TestoNuovo = (Testo &
Chr(10) & TestoPrec)
Cella.
Comment.Text Text:=TestoNuovo
End If
End Sub
Gli esempi contenuti nel sito sono per uso personale, non é consentito l'uso professionale, commerciale o la riproduzione senza autorizzazione.