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

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

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.