Bir hücre değeri değiştiğinde VBA makrosunu otomatik olarak çalıştır


1

Mükemmel çalışan bir makrom var - elle çalıştırmam dışında.
Diğer hücrelerde değerleri değiştirdiğimde otomatik olarak nasıl çalışacağını çözemiyorum.

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

Yanıtlar:


0

Worksheet_changeEtkinliği arıyorsun

Çalışma sayfasındaki hücrelerin kullanıcı tarafından veya harici bir bağlantı tarafından değiştirildiğinde ortaya çıkar.

Örnek

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

Yardım Bu, çalıştırdığımda çalışır, ancak bağlantılı bir hücre değiştiğinde otomatik olarak çalışmaz. Takıldım. Teşekkürler, Ed Özel Alt Çalışma Sayfası_Değiştir (Menzili Olarak ByVal Hedef) End Alt Alt AylıkAltÇamHideHaritalarWithZeroDollars () '' AylıkMatHaintHideRowsWithZeroDollars Makro 'Makro satırı $ 0' Aralıklı ("B3"). .EntireRow.Hidden = Gerçek ElseIf Aralığı ( "B3") Değeri = "göster" Sonra Sıralar ( "3: 3") End Sub Eğer EntireRow.Hidden = False End..
Ed Regis

@EdRegis IF-ifadenizi subve end subkısmı arasına yerleştirmelisiniz . Ben yayın düzenlendi
nixda

Önerdiğin şeyi denedim - makro elle çalıştırdığımda hala çalışıyor. Hide B7'ye yazdığımda sadece otomatik olarak çalışmak istemiyor ????? Belki de makroların otomatik olarak ötesinde çalışmasını sağlamak zorunda olduğum bir seçenek var: Özel Alt Çalışma Sayfası_Değiştir (ByVal Hedef Olarak Menzil) Son Alt
Ed Regis
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.