Automatycznie uruchamiaj makro VBA za każdym razem, gdy zmienia się wartość komórki

1

Mam makro, które działa idealnie - z tym wyjątkiem, że muszę je uruchomić ręcznie.
Nie mogę wymyślić, jak ma działać automatycznie, gdy zmieniam wartości w innych komórkach.

Sub MonthlyMaintHideRowsWithZeroDollars()

' This Macro reads down the dollar column and hides rows with $0 
' so that they do not pull into the proposal

    If Range("B7").Value = "Hide" Then
        Rows("7:7").EntireRow.Hidden = True
    ElseIf Range("B7").Value = "Show" Then
        Rows("7:7").EntireRow.Hidden = False    
    End If
End Sub
Ed Regis
źródło

Odpowiedzi:

0

Szukasz Worksheet_changewydarzenia

Występuje, gdy komórki w arkuszu są zmieniane przez użytkownika lub przez zewnętrzny link.

Przykład

Sub Worksheet_Change(ByVal Target As Range)
    If Range("B7").Value = "Hide" Then
        Rows("7:7").EntireRow.Hidden = True
    ElseIf Range("B7").Value = "Show" Then
        Rows("7:7").EntireRow.Hidden = False    
    End If
End Sub
nixda
źródło
Pomoc Działa, gdy go uruchomię, ale nie uruchamia się automatycznie po zmianie połączonej komórki. Utknąłem. Dzięki, Ed Private Sub Worksheet_Change (ByVal Target As Range) End Sub Sub MonthlyMaintHideRowsWithZeroDollars () '' MonthlyMaintHideRowsWithZeroDollars Macro 'Wiersz makra z $ 0' If Range ("B3"). Wartość = "Ukryj" Następnie wiersze ("3: 3") .EntireRow.Hidden = True ElseIf Range („B3”). Value = „Show” Następnie wiersze („3: 3”). EntireRow.Hidden = False End If End Sub
Ed Regis
@EdRegis Musisz wstawić instrukcję IF między częścią suba end sub. Zredagowałem post
nixda
Próbowałem tego, co zasugerowałeś - makro nadal działa, gdy uruchamiam je ręcznie Po prostu nie chce się uruchamiać automatycznie po wpisaniu Hide w B7 ????? Być może jest opcja, którą muszę wyłączyć, aby makra działały automatycznie poza: Private Sub Worksheet_Change (ByVal Target As Range) End Sub
Ed Regis