• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

koşullu satır gizleme

Aşağıdaki gibi kullanarak denermisiniz.

Kod:
Private Sub Worksheet_Calculate()

    Application.ScreenUpdating = False
    [COLOR="Red"]Application.Calculation = xlManual[/COLOR]

    Rows("339:368").EntireRow.Hidden = False
    Rows("371:407").EntireRow.Hidden = False
    Rows("646:710").EntireRow.Hidden = False
    If UCase(Replace(Replace([AE4], "ı", "I"), "i", "İ")) = "ERKEK" Then
        Rows("371:407").EntireRow.Hidden = True
        Rows("646:710").EntireRow.Hidden = True
    ElseIf UCase(Replace(Replace([AE4], "ı", "I"), "i", "İ")) = "KADIN" Then
        Rows("339:368").EntireRow.Hidden = True
    End If

    Rows("493:525").EntireRow.Hidden = False
    If UCase(Replace(Replace([V473], "ı", "I"), "i", "İ")) = "HAYIR" Then
        Rows("493:525").EntireRow.Hidden = True
    End If

    [COLOR="red"]Application.Calculation = xlAutomatic[/COLOR]
    Application.ScreenUpdating = True

End Sub

Eğer AE4 ve V473 değerleri sadece farklı bir sayfadan veri alıyorsa, aşağıdaki gibi kullanmanız daha hızlı sonuç almanızı sağlar.
Mantığı, kodları kullandığınız sayfa aktif olduğunda kodlar çalışır.

Kod:
Private Sub [COLOR="Red"]Worksheet_Activate[/COLOR]()

    Application.ScreenUpdating = False
    Application.Calculation = xlManual

    Rows("339:368").EntireRow.Hidden = False
    Rows("371:407").EntireRow.Hidden = False
    Rows("646:710").EntireRow.Hidden = False
    If UCase(Replace(Replace([AE4], "ı", "I"), "i", "İ")) = "ERKEK" Then
        Rows("371:407").EntireRow.Hidden = True
        Rows("646:710").EntireRow.Hidden = True
    ElseIf UCase(Replace(Replace([AE4], "ı", "I"), "i", "İ")) = "KADIN" Then
        Rows("339:368").EntireRow.Hidden = True
    End If

    Rows("493:525").EntireRow.Hidden = False
    If UCase(Replace(Replace([V473], "ı", "I"), "i", "İ")) = "HAYIR" Then
        Rows("493:525").EntireRow.Hidden = True
    End If

    Application.Calculation = xlAutomatic
    Application.ScreenUpdating = True
    
End Sub

.
 
Aşağıdaki gibi kullanarak denermisiniz.

Kod:
Private Sub Worksheet_Calculate()

    Application.ScreenUpdating = False
    [COLOR="Red"]Application.Calculation = xlManual[/COLOR]

    Rows("339:368").EntireRow.Hidden = False
    Rows("371:407").EntireRow.Hidden = False
    Rows("646:710").EntireRow.Hidden = False
    If UCase(Replace(Replace([AE4], "ı", "I"), "i", "İ")) = "ERKEK" Then
        Rows("371:407").EntireRow.Hidden = True
        Rows("646:710").EntireRow.Hidden = True
    ElseIf UCase(Replace(Replace([AE4], "ı", "I"), "i", "İ")) = "KADIN" Then
        Rows("339:368").EntireRow.Hidden = True
    End If

    Rows("493:525").EntireRow.Hidden = False
    If UCase(Replace(Replace([V473], "ı", "I"), "i", "İ")) = "HAYIR" Then
        Rows("493:525").EntireRow.Hidden = True
    End If

    [COLOR="red"]Application.Calculation = xlAutomatic[/COLOR]
    Application.ScreenUpdating = True

End Sub

Eğer AE4 ve V473 değerleri sadece farklı bir sayfadan veri alıyorsa, aşağıdaki gibi kullanmanız daha hızlı sonuç almanızı sağlar.
Mantığı, kodları kullandığınız sayfa aktif olduğunda kodlar çalışır.

Kod:
Private Sub [COLOR="Red"]Worksheet_Activate[/COLOR]()

    Application.ScreenUpdating = False
    Application.Calculation = xlManual

    Rows("339:368").EntireRow.Hidden = False
    Rows("371:407").EntireRow.Hidden = False
    Rows("646:710").EntireRow.Hidden = False
    If UCase(Replace(Replace([AE4], "ı", "I"), "i", "İ")) = "ERKEK" Then
        Rows("371:407").EntireRow.Hidden = True
        Rows("646:710").EntireRow.Hidden = True
    ElseIf UCase(Replace(Replace([AE4], "ı", "I"), "i", "İ")) = "KADIN" Then
        Rows("339:368").EntireRow.Hidden = True
    End If

    Rows("493:525").EntireRow.Hidden = False
    If UCase(Replace(Replace([V473], "ı", "I"), "i", "İ")) = "HAYIR" Then
        Rows("493:525").EntireRow.Hidden = True
    End If

    Application.Calculation = xlAutomatic
    Application.ScreenUpdating = True
    
End Sub

.

Teşekkürler Ömer Bey, bu sefer oldu (Y)
 
Geri
Üst