Note: The other languages of the website are Google-translated. Back to English

Excel'de veriler değiştiğinde otomatik filtreyi otomatik olarak nasıl yeniden uygulayabilirim?

Excel'de, filtre verileri filtrelemek için işlev görürseniz, filtre sonucu, filtrelenmiş verilerinizdeki veri değişiklikleri ile otomatik olarak değiştirilmez. Örneğin, tüm Elmaları verilerden filtrelediğimde, şimdi, filtrelenmiş verilerden birini BBBBBB olarak değiştiriyorum, ancak sonuç aşağıdaki gösterilen ekran görüntüsü kadar değişmeyecek. Bu makalede, Excel'de veri değiştiğinde otomatik filtrenin otomatik olarak nasıl yeniden uygulanacağından bahsedeceğim.

doc otomatik yenileme filtresi 1

VBA kodu ile veri değiştiğinde otomatik filtreyi otomatik olarak yeniden uygulayın


ok mavi sağ balon VBA kodu ile veri değiştiğinde otomatik filtreyi otomatik olarak yeniden uygulayın

Normalde, filtre verilerini manuel olarak Yeniden Uygula özelliğini tıklayarak yenileyebilirsiniz, ancak burada, veri değiştiğinde filtre verilerini otomatik olarak yenilemeniz için bir VBA kodu sunacağım, lütfen aşağıdaki işlemleri gerçekleştirin:

1. Veriler değiştiğinde filtreyi otomatik olarak yenilemek istediğiniz çalışma sayfasına gidin.

2. Sayfa sekmesine sağ tıklayın ve Kodu Görüntüle bağlam menüsünden, açılır pencerede Uygulamalar için Microsoft Visual Basic penceresi, lütfen aşağıdaki kodu boş Modül penceresine kopyalayıp yapıştırın, ekran görüntüsüne bakın:

VBA kodu: Veriler değiştiğinde filtreyi otomatik olarak yeniden uygulayın:

Private Sub Worksheet_Change(ByVal Target As Range)
   Sheets("Sheet3").AutoFilter.ApplyFilter
End Sub

doc otomatik yenileme filtresi 2

not: Yukarıdaki kodda, Sac 3 kullandığınız otomatik filtreli sayfanın adıdır, lütfen ihtiyacınıza göre değiştirin.

3. Ve şimdi bu kod penceresini kaydedip kapatın, şimdi, filtrelenmiş verileri değiştirdiğinizde, filtre işlev bir kerede otomatik olarak yenilenecek, ekran görüntüsüne bakın:

doc otomatik yenileme filtresi 3


En İyi Ofis Üretkenliği Araçları

Kutools for Excel Sorunlarınızın Çoğunu Çözer ve Verimliliğinizi% 80 Artırır

  • Yeniden: Hızlıca yerleştirin karmaşık formüller, grafikler ve daha önce kullandığınız her şey; Hücreleri Şifrele şifre ile; Posta Listesi Oluşturun ve e-posta gönder ...
  • Süper Formül Çubuğu (birden çok metin ve formül satırını kolayca düzenleyin); Okuma Düzeni (çok sayıda hücreyi kolayca okuyun ve düzenleyin); Filtrelenmiş Aralığa Yapıştır...
  • Hücreleri / Satırları / Sütunları Birleştirme Veri kaybetmeden; Bölünmüş Hücre İçeriği; Yinelenen Satırları / Sütunları Birleştirme... Yinelenen Hücreleri Önleyin; Aralıkları Karşılaştır...
  • Yinelenen veya Benzersiz'i seçin Satırlar; Boş Satırları Seçin (tüm hücreler boştur); Süper Bul ve Bulanık Bul Birçok Çalışma Kitabında; Rastgele Seçim ...
  • Tam kopya Formül referansını değiştirmeden Birden Çok Hücre; Otomatik Referans Oluştur Birden Çok Sayfaya; Madde İşaretleri Ekle, Onay Kutuları ve daha fazlası ...
  • Metni Çıkar, Metin Ekle, Konuma Göre Kaldır, Alanı Kaldır; Sayfalama Alt Toplamları Oluşturma ve Yazdırma; Hücre İçeriği ve Yorumları Arasında Dönüştür...
  • Süper Filtre (filtre şemalarını kaydedin ve diğer sayfalara uygulayın); Gelişmiş Sıralama ay / hafta / gün, sıklık ve daha fazlasına göre; Özel Filtre kalın, italik ...
  • Çalışma Kitaplarını ve Çalışma Sayfalarını Birleştirin; Tabloları anahtar sütunlara göre birleştirin; Verileri Birden Çok Sayfaya Bölme; Toplu dönüştürme xls, xlsx ve PDF...
  • 300'den fazla güçlü özellik. Office / Excel 2007-2021 ve 365'i destekler. Tüm dilleri destekler. Kuruluşunuzda veya kuruluşunuzda kolay devreye alma. Tam özellikler 30 günlük ücretsiz deneme. 60 günlük para iade garantisi.
kte sekmesi 201905

Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
ofis tabanı
Yorumları sıralama ölçütü
Yorumlar (36)
5 üzerinden 5 olarak derecelendirildi · 1 derecelendirme
Bu yorum sitedeki moderatör tarafından en aza indirildi
merhaba, tüm bunları google finansta nasıl kullanabilirim? teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
güzel.. gerçekten ihtiyacım var
Bu yorum sitedeki moderatör tarafından en aza indirildi
II, diğer birden çok sayfanın otomatik filtrelenmesine neden olmak için bir sayfada bir değişiklik istiyorum, bu kodu nasıl değiştirebilirim? Ör: SheetA değiştirilir, bu da Sheet1, Sheet2 ve Sheet3'ün otomatik filtresini uygulamasına neden olur. Teşekkürler!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bunu, hücre =sayfa1!E6 olarak ayarlanmışsa, ön sayfa için yapıyorum. Değiştiğinde filtre uygulamayacaktır. Arka sayfadaki numarayı değiştirdiğimde ön tarafı ayarlıyor ama filtreleme yapmıyor. Formülü, kriterleri filtrelemek için ayarlarsanız, yeniden uygulanır. Ne yapabilirim?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bunu kullanın
Özel Alt Work_Change(Aralık Olarak Hedefe Göre)
Activesheet.AutoFilter.ApplyFilter
End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bunun benim için çalışmasını hiç sağlayamıyorum. Bir ana sayfadan almaya çalışıyorum ve yalnızca adlarıyla birlikte her sekmede belirli proje yöneticileri için geçerli olan işleri almasını sağlıyorum. Ayrıca değişiklik yaptığımda otomatik olarak yenilenmesini istiyorum.
Bu yorum sitedeki moderatör tarafından en aza indirildi
bu komutun tümü sahte hiçbir şey yapmaz. tamamen deneyin ama hiçbir faydası yok.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Harika çalışıyor ve bana çok zaman kazandırıyor ve uğraşıyorum.. Gerçekten harika bir ipucu.. Yardımın için çok teşekkürler
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu çözüm mükemmel çalışıyor. Yazdığın için teşekkürler! Herhangi biri sorun yaşıyorsa, dikkate alınması gereken birkaç şey vardır.

İlk olarak, Worksheet_Change olayı sayfa sayfa çağrılır. Bu, güncellenmesi gereken filtrelere sahip birden fazla sayfanız varsa, tüm bu olaylara yanıt vermeniz gerekeceği anlamına gelir. Her çalışma sayfası için bir Worksheet_Change alt yordamı, tüm çalışma kitabı için tek bir alt yordam değil (bir istisna - aşağıdaki nota bakın).

İkincisi ve birincisinin devamı olan kod, izlenecek çalışma sayfasına özel kod modülüne yerleştirilmelidir. VB editörüne girdikten sonra kod modüllerini (yanlışlıkla) değiştirmek kolaydır, bu nedenle veri değişikliklerini izlemek istediğiniz sayfaya özel olarak yerleştirmeye özen gösterilmelidir.

Üçüncüsü, bu doğrulanmamıştır, ancak muhtemelen bir hata noktasıdır. Örnek, "Sayfa1", "Sayfa2" vb. sayfa adlarını kullanır. Sayfaları yeniden adlandırdıysanız, kodu güncellemeniz gerekebilir. Örnekte, Sheet7'ye "dfdf" adı verildiğine dikkat edin. Oradaki filtreyi güncellemek isterseniz;
Sheets("dfdf").AutoFilter.ApplyFilter
değil;
Sayfalar("Sayfa7").AutoFilter.ApplyFilter

Yeniden adlandırılmış bir sayfa içeren bir örnek içeren makaleyi güncellemek iyi olabilir.


Son olarak, veri değişiklikleri için bir sayfayı izlemek, ancak birden çok sayfadaki filtreleri güncellemek istiyorsanız, o zaman izlemekte olduğunuz çalışma sayfasının kod modülüne yerleştirilmiş yalnızca bir alt programa ihtiyacınız vardır. Kod şöyle görünecek;

# (veri değişiklikleri için izlenecek kod çalışma sayfasına yerleştirilmelidir)
Özel Alt Çalışma Alanı_Değiştir (ByVal Target As Range)
Sayfalar("Sayfa1").AutoFilter.ApplyFilter
Sayfalar("Sayfa2").AutoFilter.ApplyFilter
Sayfalar("Sayfa3").AutoFilter.ApplyFilter
Sayfalar("Sayfa4").AutoFilter.ApplyFilter
End Sub
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Mike,
Detaylı açıklamanız için teşekkürler.
Bu yorum sitedeki moderatör tarafından en aza indirildi
Harika bir açıklama, teşekkürler.

Ancak yeni bir sayfa oluşturulduğunda Sheets("Sheet3").AutoFilter.ApplyFilter'ı nasıl tetikleyebilirim?
Bahsettiğiniz kodu henüz olmayan bir sayfaya yazamadığım için
Bu yorum sitedeki moderatör tarafından en aza indirildi
Harika teşekkür ederim!
Bu yorum sitedeki moderatör tarafından en aza indirildi
bir şampiyon gibi çalışıyor ve çok basit. çok teşekkürler!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu harika görünüyor. Aynısını Filtre yerine Sıralama için nasıl yapacağımı söyler misiniz lütfen?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Chris,
Olabilir, aşağıdaki makale sorununuzu çözebilir, lütfen inceleyin:

https://www.extendoffice.com/documents/excel/2592-excel-auto-sort-by-value.html

Lütfen dene!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, bu harika çalışıyor, ancak yalnızca tablodaki verileri manuel olarak değiştirirken.

Ayrı bir çalışma sayfasındaki veri girişinden doldurulan 'ilk on/lider kurulu' stili filtrelenmiş bir tablom var (aslında veriler tabloya gelmeden önce 3 çalışma sayfasından geçer). Veri girişi çalışma sayfasındaki veriler değiştirildiğinde, lider panosu tablo rakamları güncellenir ancak filtre otomatik olarak yenilenmez.
Bunun nasıl yapılacağına dair bir fikriniz var mı?
Çok minnettarım.
Alex
Bu yorum sitedeki moderatör tarafından en aza indirildi
bende de aynı sorun var Biri bize yardım edebilir mi?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Aynı sorunu yaşıyorum. Sayfa 2'den gelen verileri içeren sayfa 1'yi otomatik filtrelemeye çalışıyorum. Bu, yalnızca sayfa 2'deki değil, sayfa 1'deki verileri değiştirirsem çalışır.
Bunun neden çalışmadığı ve nasıl düzeltileceği hakkında bir fikriniz var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, bu harika çalışıyor gibi görünüyor ama aynı çalışma sayfasında (sekme) birden fazla filtre olduğunda sorun yaşıyorum. Aynı çalışma sayfasında ayrı ve birden çok filtreye izin vermek için hücre aralığını bir tabloya dönüştürdüm. Bu örnek yalnızca tablolardan/filtrelerden birini güncellemek için görünür. Bir çalışma sayfasındaki TÜM tabloları/filtreleri nasıl güncelleyeceğinize dair herhangi bir öneriniz var mı?

Çok teşekkürler,

Tom
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Tom
Bu makaledeki kod, bir çalışma sayfasındaki birden çok tablo için iyi çalışır, verileri değiştirdikten sonra diğer hücreye tıklamak yerine Enter tuşuna basmanız yeterlidir.
Lütfen dene.
Bu yorum sitedeki moderatör tarafından en aza indirildi
terima kasih

sangat membantu
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bu yorum sitedeki moderatör tarafından en aza indirildi
Parlak ve yapması basit. Çok teşekkürler!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba,

Bu kod harika çalışıyor, çok teşekkürler.

Bununla birlikte, bununla ilgili küçük bir sorunum var - tablonun parçası olmayan herhangi bir hücredeki değerleri değiştirirsem, Runtime hatasıyla karşılaşıyorum:

"Çalışma zamanı hatası '91':

Nesne değişkeni veya Blok değişkeni ayarlanmamış"


Hata Ayıklama veya Bitirme seçeneklerim var, Devam etme seçeneği gri görünüyor. "Son"a tıklayabilirim ve kod hala çalışır, ancak her değişiklikten sonra bu açılır pencereyle uğraşmak çok can sıkıcıdır.

Bunun nasıl sıralanacağı konusunda benzer bir deneyimi veya önerisi olan var mı?

Teşekkürler!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba David,
Sorununuzu çözmek için aşağıdaki kodu uygulayabilirsiniz:

Özel Alt Çalışma Alanı_Değiştir (ByVal Target As Range)
On Error Resume Next
Sayfalar("Sayfa3").AutoFilter.ApplyFilter
End Sub

Lütfen deneyin, umarım size yardımcı olabilir!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba Skyyang,


Çözümünüzü uyguladım ve gerçekten düzeltildi.

Çok teşekkürler!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, aynı sorunu yaşadım, yeni kodu yapıştırdım ve sayfanın adını değiştirdim ama sonra hiçbir şey olmuyor, filtre güncellenmiyor
Bu yorum sitedeki moderatör tarafından en aza indirildi
burada da aynı sorun, güncellenmiş bir çözüm var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Bunun Office 365'te hiç çalışmasını sağlayamıyorum
baska öneri
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba, yardımın için çok teşekkürler. Bir şey benim için doğru çalışmıyor. İşte hikaye.

Sayfa1 değişken verilere sahiptir. Sayfa3 statik veri ve filtreye sahiptir. "Sayfa3" üzerindeki filtre kriterleri, Sayfa1'den gelir. Sayfa1, Sayfa3'teki filtrelenmiş sonuçlardan gelen verilere sahiptir.

Sayfa3'ün kodu var:

Özel Alt Çalışma Sayfası_SelectionChange (ByVal Target As Range)
Range("A1:U14").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range("A22:U23"), CopyToRange:=Range("A25:U26"), Unique:=False
End Sub

Sayfa3'te bir şey yaparsam harika çalışıyor. Sorun yok. Teşekkür ederim!

İlk başta Sayfa1'de kodum vardı:

Özel Alt Çalışma Alanı_Değiştir (ByVal Target As Range)
Sayfalar("Sayfa3").AutoFilter.ApplyFilter
End Sub

Bu, "Çalışma zamanı hatası 91, Nesne Değişkeni veya Blok Ayarlanmadı" hatasıyla sonuçlandı.

Kodu, yorumlara göre şu şekilde değiştirdim:

Özel Alt Çalışma Alanı_Değiştir (ByVal Target As Range)
On Error Resume Next
Sayfalar("Sayfa3").AutoFilter.ApplyFilter
End Sub

Şimdi bir hata almıyorum, ancak Sayfa3'teki ve dolayısıyla Sayfa1'deki veriler değişmiyor. Yani Sayfa3'de değişiklik yaptığımda Sayfa1'e filtre uygulama olayı olmuyor. vursam da fark etmez veya Sayfa3'de ayarlanan Sayfa1 filtre ölçütü hücresini değiştirdikten sonra başka bir hücreye tıklayın.

Bir kenara, Sayfa1'de Sayfa4'e ek olarak Sayfa 5 ve 3'te filtrelere neden olan birden fazla hücreye sahip olmak istersem, Sayfa 1'deki kodu okumak için ihtiyacım olacağını umuyorum:

Özel Alt Çalışma Alanı_Değiştir (ByVal Target As Range)
On Error Resume Next
Sayfalar("Sayfa3").AutoFilter.ApplyFilter
Sayfalar("Sayfa4").AutoFilter.ApplyFilter
Sayfalar("Sayfa5").AutoFilter.ApplyFilter
End Sub

Tekrar teşekkürler!
Bu yorum sitedeki moderatör tarafından en aza indirildi
Merhaba,

Bu harika bir kod, teşekkür ederim. Karşılaştığım tek sorun, ayrı bir grafik sayfasında bir açılır menü kullanmam. Açılır menüyle ilişkili hücredeki değeri manuel olarak değiştirirsem çalışır. Ancak açılır menüyü kullanmaya çalıştığımda güncellenmiyor. Düşüncesi olan var mı?
Bu yorum sitedeki moderatör tarafından en aza indirildi
Aslında "Veritabanı" adında bir Excel Sayfasına aktarılan başka bir Excel dosyasından verilerim var. Sonra bu verileri aynı Excel dosyasına ancak başka bir ExcelSheet "Genel Bakış" içine alıyorum. Orijinal kaynaktaki veriler değiştiğinde, filtrenin "Genel Bakış" sayfasında uygulanmasını istiyorum. Bana yardım edebilecek kişiye şimdiden teşekkür ederim :). PS, ilk excel sayfasında VBA'yı kullanamaz
Buraya henüz hiç yorum yapılmamış
Daha Çok
Lütfen yorum yazın
Misafir olarak yayınlama
×
Bu gönderiyi değerlendirin:
0   Karakterler
Önerilen Konumlar

Bizi takip et

Telif Hakkı © 2009 - www.extendoffice.com. | Tüm hakları Saklıdır. Tarafından desteklenmektedir ExtendOffice. | | | Site Haritası
Microsoft ve Office logosu, Microsoft Corporation'ın Amerika Birleşik Devletleri ve / veya diğer ülkelerdeki ticari markaları veya tescilli ticari markalarıdır.
Sectigo SSL ile korunmaktadır