Não o adicione a um módulo regular do VBA; colocá-lo no módulo da planilha onde você quer que isso aconteça.
OeventoWorksheet_Changesóserádisparadoseforarmazenadonocódigodaplanilha.Euadicioneiestecódigoaomeuobjetoeelefuncionoucorretamente,entãobastacolocá-loemsuaplanilhaevocêdeveestarpronto.
Sevocêdesejaqueelesejaexecutadoemváriasplanilhas,vocêtemalgumasopções.Vocêpodecolocarocódigocomoestáemcadaobjetodaplanilhaoupodecolocarocódigoemummóduloeadicionarumachamadaacadaplanilha.Cadafolhateriaalgoassim:
PrivateSubWorksheet_Change(ByValTargetAsRange)CallPassFailCheck(Target)EndSub
Vocêpodecolocaramaiorpartedoseucódigoemummódulocomoeste:
SubPassFailCheck()IfRange("A1").Value = "Passed" Then
Rows("2:5").EntireRow.Hidden = True
ElseIf Range("A1").Value = "Failed" Then
Rows("2:5").EntireRow.Hidden = False
End If
End Sub
A segunda opção é um pouco mais complexa, mas é mais fácil de manter se você precisar fazer alterações no código regularmente.