Filtre değişikliği ile makro çalıştırmak

Ömer Çakır

Altın Üye
Katılım
20 Ekim 2022
Mesajlar
45
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
22-10-2027
İyi günler arkadaşlar,
Aşağıdaki dosyada Arşiv adındaki sayfada T ve U sütunlarını normalde başka bir dosyanın başka bir sayfası makro ile hesaplıyor.

Sorunum şu aşağıdaki ekli dosyada Arşiv sayfasında filtre çalıştırdığımda bu T ve U sütunlarının tekrar hesaplanmasını istiyorum.

Kod:
            With Sh.Range("U2:U" & Sh.Cells(1048576, "A").End(3).Row)
                .Formula = "=IF(A1<>A2,"""",(0.0416666666642413*(O2-O1))/(G2-G1))"
                .Value = .Value
                .NumberFormat = "#,##0"
            End With
        
            With Sh.Range("T2:T" & Sh.Cells(1048576, "A").End(3).Row)
                .Formula = "=IF(A1<>A2,"""",((0.0416666666642413*(IF(A1<>A2,"""",O2-LOOKUP(2,1/(D$2:D2=""START""),O$2:O2))))/(G2-(LOOKUP(2,1/(D$2:D2=""START""),G$2:G2)))))"
                .Value = .Value
                .NumberFormat = "#,##0"
            End With
Rica etsem ekteki dosyada filte değiştiğinde (A sütunundaki değişse de yeterli aslında ama mümkünse sayfadaki herhangi bir filtre değiştiğinde olursa daha iyi olur) yukarıdaki formülleri çalıştırabilecek makroyu yazabilir misiniz lütfen.

Normalde ben bunu yaparım yapabilirim sanırım ama zaman olarak sıkışıklığım var.

Aşağıdaki linkteki kodları denedim, VBA sayfasında çalıştır yaparsam kodlar çalışıyor ama Arşiv sayfasında filte değiştirdiğimde https://www.excel.web.tr/threads/filtre-sarti-degisince-makro-calistirma.174698/makroyu tetiklemiyor.

Yardımınız rica lütfen.
Not: Kendi kişisel bilgisayarımda Office365 kullanıyorum ama iş bilgisayarımda Office2007 de çalışmak zorunda kalıyorum. Office 2007 nin kodları desteklemesi gerekiyor.
 

Ekli dosyalar

Son düzenleme:

Ömer Çakır

Altın Üye
Katılım
20 Ekim 2022
Mesajlar
45
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
22-10-2027
İyi günler arkadaşlar,
Aşağıdaki dosyada Arşiv adındaki sayfada T ve U sütunlarını normalde başka bir dosyanın başka bir sayfası makro ile hesaplıyor.

Sorunum şu aşağıdaki ekli dosyada Arşiv sayfasında filtre çalıştırdığımda bu T ve U sütunlarının tekrar hesaplanmasını istiyorum.

Kod:
            With Sh.Range("U2:U" & Sh.Cells(1048576, "A").End(3).Row)
                .Formula = "=IF(A1<>A2,"""",(0.0416666666642413*(O2-O1))/(G2-G1))"
                .Value = .Value
                .NumberFormat = "#,##0"
            End With
       
            With Sh.Range("T2:T" & Sh.Cells(1048576, "A").End(3).Row)
                .Formula = "=IF(A1<>A2,"""",((0.0416666666642413*(IF(A1<>A2,"""",O2-LOOKUP(2,1/(D$2:D2=""START""),O$2:O2))))/(G2-(LOOKUP(2,1/(D$2:D2=""START""),G$2:G2)))))"
                .Value = .Value
                .NumberFormat = "#,##0"
            End With
Rica etsem ekteki dosyada filte değiştiğinde (A sütunundaki değişse de yeterli aslında ama mümkünse sayfadaki herhangi bir filtre değiştiğinde olursa daha iyi olur) yukarıdaki formülleri çalıştırabilecek makroyu yazabilir misiniz lütfen.

Normalde ben bunu yaparım yapabilirim sanırım ama zaman olarak sıkışıklığım var.

Aşağıdaki linkteki kodları denedim, VBA sayfasında çalıştır yaparsam kodlar çalışıyor ama Arşiv sayfasında filte değiştirdiğimde https://www.excel.web.tr/threads/filtre-sarti-degisince-makro-calistirma.174698/makroyu tetiklemiyor.

Yardımınız rica lütfen.
Not: Kendi kişisel bilgisayarımda Office365 kullanıyorum ama iş bilgisayarımda Office2007 de çalışmak zorunda kalıyorum. Office 2007 nin kodları desteklemesi gerekiyor.
Evet 4 saat araştırmalarım, denemelerim sonunda şunu öğrendim; Sayfaya filte uygulasamda uygulamasamda sonuçlar değişmeyecek. Çünkü filtre sonuç verirken göstermediği satırları silmiyor. Gizliyor.

Peki gizlediği satırlar yokmuş gibi tekrardan satırları yeni istenen azalmış olduğu kriterlerle yokmuş gibi göstermez mi?

Ekte bir dosya var ve dosyanın ekran fotoğrafı var.

Üstteki tablo ile alttaki tablo aynı, sadece üstteki tabloda D sütununda sadece 3 ve "toplam" değerlerini içeren satırları göster diyor. Bu durumda G7 kırmızı hücre değeri (üstündeki satırların toplamı filtreden etkilenmiyor) aslında etkilenmesi lazım olacak şekilde hesaplama yatırılamaz mı? Etkilenmiş olsa orada 49 değil 28 bulması gerekir.

Demek istediğimi anlatabildim umarım. 2022-11-07 (2).png
 

Ekli dosyalar

Ömer Çakır

Altın Üye
Katılım
20 Ekim 2022
Mesajlar
45
Excel Vers. ve Dili
Office 365
Altın Üyelik Bitiş Tarihi
22-10-2027
Yukarıda 2 mesajda belirttiğim işlem ALTOPLAM fonksiyonu 9 nolu işlev sayısı ile yapıldığında doğru sonucu vermektedir.

Peki benim yukarıda ilk mesajda belirttiğim gibi, altalta onlarca satır uzayacak olan o Arşiv sayfasında T ve U sütunlarına uygulayacağım formülde alttoplam gibi bir yöntem var mıdır? Yani filtrenin gizlediği satırlar gerçekte de yokmuş gibi hesap yaptırılabilir mi makroya?
 
Üst