Nella macro hai delle dichiarazione pubbliche nelle quali devi aggiungere come stringa NomeF in questa maniera
- Codice: Seleziona tutto
Option Explicit
Dim Coffset As Integer, NomeF As String
e all'inizio della tua macro di aggiornamento inserisci questo codice
- Codice: Seleziona tutto
Public NomeF As String
Sub TuaMacroAggiornamento()
For F = 1 To Worksheets.Count
If Sheets(F).Name <> Name Then '<<< togliere questa condizione se devi "ripulire anche il primo foglio
Sheets(F).Cells.ClearContents
End If '<<< togliere questa condizione se devi "ripulire anche il primo foglio
Next F
End Sub
Se devi cancellare tutte le celle anche del primo foglio non c'è bisogno di dichiarare NomeF
Nel vba del foglio inserisci questa macro
(una è aggiunta e non occorre se devi cancellare anche il primo foglio e l'altra è la precedente modificata)
- Codice: Seleziona tutto
Private Sub Worksheet_Activate() '<<<<< non occorre se devi cancellare anche il primo foglio
NomeF = Name '<<<<< non occorre se devi cancellare anche il primo foglio
End Sub '<<<<< non occorre se devi cancellare anche il primo foglio
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
URG = Cells(Rows.Count, 1).End(xlUp).Row
CheckAreaA = "A1:A" & URG
Application.ScreenUpdating = False
Application.Calculation = xlManual
If Not Application.Intersect(Target, Range(CheckAreaA)) Is Nothing Then
Copia = Target.Value
riga = Target.Row
colonna = Target.Column
For F = 1 To Worksheets.Count
If Sheets(F).Name <> Name Then
Sheets(F).Cells(riga, colonna).Value = Copia
End If
Next F
End If
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub