• DİKKAT

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

Filtre şartı değişince makro çalıştırma

  • Konbuyu başlatan Konbuyu başlatan askm
  • Başlangıç tarihi Başlangıç tarihi

askm

Destek Ekibi
Destek Ekibi
Katılım
4 Haziran 2005
Mesajlar
2,746
Excel Vers. ve Dili
2010-2016
Hayırlı geceler.
Hücre değeri değişince makro çalıştırılabiliyor. Filtre şartı değişince makro çalıştırma imkanı var mı? Örneğin A sütununda kriter seçerek filtreleme yapılırsa A makrosu çalışsın. Filtreleme kapatılırsa B makrosu çalışsın. Yalnız filtreleme makro ile değil elle yapılınca çalışacak.
 
Bir Excel sayfasında A...E gibi sütunlara bir tablo hazırlayın , Fitreleme uygulayın.
Deneyin.
Kod:
Private Sub Worksheet_Calculate()
Dim a, b As Long
a = Cells(Rows.Count, 1).End(xlUp).Row
b = Application.WorksheetFunction.Subtotal(3, Range("A1:A500000"))
    If a > b Then
        MsgBox "Filtre yapılmış, bunun yerine Makro koduda da yazılabilir"
    Else
        MsgBox "Filtre yapılmamış Makro buna göre düzenlenebilir"
    End If
End Sub
 
Teşekkürler sayın Turist. Akşam deneyeceğim.
 
Bana da bu örnek lazım oldu. A-Z arasında herhangi bir sütunda filtreleme yapılırsa buna bağlı bir makromun çalışması gerekiyor. Örneğinizi denedim ancak olmadı @turist üstadım
 
Kodu
Module kısmına değil, makroyu uygulamak istediğiniz Sayfa Kodu kısmına yazarak deneyin.
Çalıştırmak istediğiniz makronuzu da ;yukarıdaki kod örneğinde
Kod:
 If a > b Then
        Call Makro1
    Else
  End If
şeklinde uygulayabilirsiniz.
Makro1 yerine kendi makronuzun ismini yazabilirsiniz.
 
sayın askm : bildiğim kadarıyla workbook veya worksheet nesne hiyerarşisinde aradığınız sorunun cevabı olabir..saygılarımla...ibrahimpeng
 
Bir Excel sayfasında A...E gibi sütunlara bir tablo hazırlayın , Fitreleme uygulayın.
Deneyin.
Kod:
Private Sub Worksheet_Calculate()
Dim a, b As Long
a = Cells(Rows.Count, 1).End(xlUp).Row
b = Application.WorksheetFunction.Subtotal(3, Range("A1:A500000"))
    If a > b Then
        MsgBox "Filtre yapılmış, bunun yerine Makro koduda da yazılabilir"
    Else
        MsgBox "Filtre yapılmamış Makro buna göre düzenlenebilir"
    End If
End Sub
Bu kodu çalıştıramadım, aşağıdaki linkte paylaştığım yolla filtre değiştikten sonra tetikleme yaptırabildim. Belki birinin işini görür diyerek paylaşmak istedim.

https://www.experts-exchange.com/articles/2773/Trapping-a-change-to-a-filtered-list-with-VBA.html
 
Geri
Üst