Una famiglia di software per fogli di calcolo Microsoft con strumenti per l'analisi, la creazione di grafici e la comunicazione dei dati.
Ciao giudor,
supponendo che sia la cella B1 quella che può contenere il valore "no" da cambiare e che le celle di cui testare se abbiano valore "no" per nasconderle siano quelle da B2 in giù, allora:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Excel.Range
Dim rngNo As Excel.Range
If Application.Intersect(Target, Me.Range("B1")) Is Nothing Then
' Non fare nulla
Else
Set rng = Me.Columns("B")
With rng
Set rng = .Resize(.Rows.Count - 1).Offset(1)
End With
If Me.Range("B1").Value = "no" Then
With rng
Debug.Print rng.Address
Set rngNo = .Find("no", LookIn:=xlValues)
If rngNo Is Nothing Then
' Nessuna cella trovata.
Else
Do
rngNo.Rows.Hidden = True
Set rngNo = .FindNext(rngNo)
Loop Until rngNo Is Nothing
End If
End With
Else
rng.Rows.Hidden = False
End If
End If
Set rngNo = Nothing
Set rng = Nothing
End Sub