Questo è il codice che ho per il foglio di lavoro. Funziona se scrivo qualcosa in D32, ma se la formula cambia automaticamente il numero non fa nulla. Che cosa sto facendo di sbagliato? Fondamentalmente ho impostato per nascondere una riga se una cella è zero o mostrarla se è un numero positivo.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
' The variable KeyCells contains the cells that will
' cause an alert when they are changed.
Set KeyCells = Range("D32")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
' Display a message when one of the designated cells has been
' changed.
' Place your code here.
If Range("D32").Value = "0" Then
Rows("32:32").EntireRow.Hidden = True
ElseIf Range("D32").Value = "<>0" Then
Rows("32:32").EntireRow.Hidden = False
End If
End If
End Sub
D30per nascondere e scoprire il Row 32!!. E se in D32te hai inserito la Formula e stai cercando di nascondere Row32se la Formula ritorna, Zeroallora devi usare il foglio di calcolo Calcola evento ma meglio nascondere alcune altre righe invece che Riga ha Formula, poiché dopo aver nascosto non puoi avere la possibilità di modificare il valore in modo che D32diventi<>0
If Range("D32").Value = 0 Then e ElseIf Range("D32").Value <> 0 Then ☺
D32, seZEROil codice si nasconde daRow 32solo e se e in caso diverso da quelloZeronon viene cliccato dopo essere stato nascosto perchéD32non è visibile la cella da modificare.