Moderatori: Anthony47, Flash30005
Sub Worksheet_Change(ByVal Target As Range)
Static bModif As Boolean '= True se sono già in fase di copia dati
Set Cella = Intersect(Range("C22:K22"), Target) 'controllo l'ind. della cella modificata
If Cella Is Nothing Then Exit Sub 'se la cella è fuori dal range esco
If Target.Address = "$C$22" Then Exit Sub 'altro controllo
If bModif = True Then Exit Sub 'se sono già in fase copia dati esco
bModif = True 'altrimenti entro in fase copia dati
Application.ScreenUpdating = False 'blocco lo schermo
Range("C22:K22").Copy
Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Select 'copio e incollo
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Application.ScreenUpdating = True 'sblocco lo schermo
bModif = False 'non sono più in fase copia dati
End Sub
Application.ScreenUpdating = True
Application.ScreenUpdating = False
Lo scopo di queste 2 istruzioni era di uscire dalla sub se nelle celle C20:K20 non c'era niente?
Set Cella = Intersect(Range("C20"), Target) 'controllo l'ind. della cella modificata
If Cella Is Nothing Then Exit Sub 'se la cella è fuori dal range esco
Range(Source).Copy
Sheets("Storico").cells(Rows.count,3).End(Xlup).Offset(1,0).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Torna a Applicazioni Office Windows
Visitano il forum: Nessuno e 41 ospiti