ti replico la macro correngendo l'inizio del controllo (nell'elenco la cella A1 è vuota quindi se clicchi lì andrà in errore allora...)
- Codice: Seleziona tutto
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
UR = Worksheets("Foglio1").Range("A" & Rows.Count).End(xlUp).Row
CheckA = "A2:A" & UR
If Not Application.Intersect(ActiveCell, Range(CheckA)) Is Nothing Then
If (Selection.Rows.Count + Selection.Columns.Count) > 2 Or Target = "" Then Exit Sub
Foglio = Target
For Each Ws In Worksheets
If Ws.Name <> Name Then Worksheets(Ws.Name).Visible = False '<<<<<< questa è la riga da modificare per i fogli fissi
Next Ws
Worksheets(Foglio).Visible = True
Worksheets(Foglio).Select
End If
End Sub
Modifica la riga aggiungendo i fogli "fissi" così:
- Codice: Seleziona tutto
For Each Ws In Worksheets
If Ws.Name <> Name or Ws.Name = "NomeFoglioFisso1" or Ws.Name = "NomeFoglioFisso2" or Ws.Name = "NomeFoglioFisso3" Then Worksheets(Ws.Name).Visible = False
Next Ws
Ripeti tanti or ws.name = "nomefogliofissoN" per quanti te ne occorrono all'interno della riga modificata
Ora sicuramente avrai i fogli fissi nascosti puoi renderli visibili in due maniera
o manualmente andando sul Menu > Formato > Foglio > Scopri selezioni i fogli che si devono vedere (rimarranno sempre visibili se avrai modificato la macro correttamente)
oppure tramite una macro da lanciare una sola volta per renderli visibili
tipo questa
- Codice: Seleziona tutto
For Each Ws In Worksheets
If Ws.Name = Name or Ws.Name = "NomeFoglioFisso1" or Ws.Name = "NomeFoglioFisso2" or Ws.Name = "NomeFoglioFisso3" Then Worksheets(Ws.Name).Visible = True
Next Ws
Decidi come vuoi agire
Fai sapere
Ciao