Registrare modifica di un cella
Info
Esempi
Linguaggio
Librerie
Formule
Ultimi Inseriti

 Login

 Password

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


L'esempio completo é scaricabile da questo link: Es281.xlsm (a questo link le info per attivare le macro se risultano bloccate)

Gli esempi contenuti nel sito sono per uso personale, non é consentito l'uso professionale, commerciale o la riproduzione senza autorizzazione.
Per dubbi o domande potete scriverci a domande@macrofacili.it, sulla nostra pagina FB MacroFacili.it o sul gruppo FB Excel, macro e formule.
 

data4idea srls - PIva 01881000937 - info@data4idea.it