Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) If Target.Cells.Count > 1 Then Exit Sub 'non eseguire se selezionate più celle Application.EnableEvents = False 'interrompi controllo eventi 'se (colonna B o P o AD) e cella compilata With Target If (.Column = 2 Or .Column = 16 Or .Column = 30) And Not IsEmpty(.Value) Then .Offset(0, -1) = Format(Time, "hh.mm") 'imposta orario in cella accanto Else 'altrimenti .Offset(0, -1) = vbNullString 'svuota cella accanto End If End With Application.EnableEvents = True 'riprendi controllo eventi End Sub