Você precisa colocar seu código em Sub Worksheet_change
do módulo de código de sua planilha (não apenas um módulo geral), então ele será executado depois que você alterar qualquer valor em sua planilha.
Eu tentei seguir uma pergunta anterior sobre a ocultação de linhas com base em um valor de células (E19)
Sub HideIR()
If Range("$E$19").Value = "2" Then
Rows("20:26").EntireRow.Hidden = True
ElseIf Range("$E$19").Value = "1" Then
Rows("20:26").EntireRow.Hidden = False
End If
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("$E$19").Value = "2" Then
Rows("20:26").EntireRow.Hidden = True
ElseIf Range("$E$19").Value = "1" Then
Rows("20:26").EntireRow.Hidden = False
End If
End Sub
Ele ocultará as células, mas não atualiza quando eu altero os valores sem executar a macro novamente.
Você precisa colocar seu código em Sub Worksheet_change
do módulo de código de sua planilha (não apenas um módulo geral), então ele será executado depois que você alterar qualquer valor em sua planilha.