Excel-də məlumatları süzmək üçün VBA kodu (8 nümunə)

  • Bunu Paylaş
Hugh West

Excel Sort & Filtr əmri məhdud diapazona malikdir Məlumatları süzün . Lakin VBA -dən istifadə edərək, istədiyiniz qədər geniş diapazonda Məlumatları filtrləyə bilərsiniz . Bu məqalə sizə canlı təsvirləri olan VBA kodlarından istifadə edərək Excel-də VBA kodundan Məlumatların filtrasiyası üçün istifadə etmək üçün 8 faydalı nümunə təqdim edəcək.

Təcrübə İş Kitabını endirin

Pulsuz Excel şablonunu buradan yükləyə və özünüz məşq edə bilərsiniz.

VBA Kodunu Filtr Data.xlsm

Excel-də verilənləri süzmək üçün VBA kodundan istifadə etmək üçün 8 nümunə

Gəlin əvvəlcə bəzi tələbələrin Cinsi, Vəziyyəti və Yaş .

1. Excel-də mətn meyarlarına əsaslanaraq verilənləri süzmək üçün VBA kodundan istifadə edin

İlk nümunəmizdə biz VBA to Filtr -dən yalnız <1 istifadə edəcəyik. Datasetin Gender sütunundan>Kişi tələbələr.

Addımlar:

  • Sağ klikləyin vərəq başlığında .
  • Sonra Kontekst menyusundan Koda Bax seçin.

Tezliklə sonra VBA pəncərəsi açılacaq.

  • Aşağıdakı kodları yazın it-
1543
  • Daha sonra VBA

minimuma endirin Kod Dağılımı

  • Burada mən Alt prosedur yaratdım, Filter_Data_Text() .
  • Sonra istifadə etdim Müvafiq vərəq adını elan etmək üçün Range xüsusiyyəti və aralıq
  • Sonra, mən seçdiyim Meyarlar -dən istifadə etmək üçün Avtomatik Filtr metodundan istifadə etdim, burada Sahə:=2 deməkdir sütun 2 . Və Kriteriya1:=”Kişi” Kişi üçün datanı Süzün .
  • Bundan sonra, Makrolar dialoq qutusunu açın, aşağıdakı kimi klikləyin: Developer > Makroslar.

  • kodlarda qeyd edildiyi kimi Makro adını seçin .
  • Nəhayət, sadəcə Çalışdır düyməsini basın.

İndi baxın ki, bizdə yalnız < Kişi tələbələrin datası Filtrləmədən sonra.

Ətraflı oxuyun: Excel Filtr Datasına əsaslanıb Hüceyrə Dəyəri (6 Effektiv Yol)

2. Bir Sütunda Çoxsaylı Kriteriyalarla Verilənləri Filtrləmək üçün VBA Kodunu Tətbiq edin

Burada biz bir sütunda çoxlu kriteriyalar üçün süzgəcdən keçirəcəyik . Verilənlər dəstinin üçüncü sütunundan biz Məzun Aspirant tələbələr üçün Süzün edəcəyik.

Addımlar:

  • VBA pəncərəsini açmaq üçün ilk nümunənin ilk iki addımını edin.
  • Daha sonra, aşağıdakı kodları içinə yazın-
9394
  • Sonra VBA
<0 minimuma endirin>

Kod bölgüsü

  • Burada mən Alt prosedur yaratdım, Filter_One_Column() .
  • Sonra bizim müvafiq vərəq adını aralığımızı
  • elan etmək üçün Range xassəsindən istifadə etdik. Sonra istifadə etdimSeçdiyim Kriteriya -dan istifadə etmək üçün Avtomatik Filtr üsulu, burada Sahə:=3 sütun 3 deməkdir. Burada, Meyar1:=“Məzun” Meyar2:=“Aspirantura” tələbənin Statusu üçün Süzün .
  • Nəhayət, mən Operator:=xlOr -dən çoxlu kriteriyalar üçün VEYA şərti Filtr tətbiq etmək üçün istifadə etdim.
  • Bu zaman Makrolar dialoq qutusunu açmaq üçün ilk nümunədən üçüncü addımı izləyin.
  • Daha sonra müəyyən edilmiş Makro adını seçin və Çalışdır düyməsini basın.

Tezliklə siz aşağıdakı şəkil kimi çoxsaylı meyarlara əsaslanan Filtrlənmiş cərgələri əldə edəcəksiniz.

Ətraflı oxuyun: Excel-də Çoxsaylı Kriteriyaları Filtrləyin (4 Uyğun Yol)

3. Excel-də Fərqli Sütunlarda Çox Kriteriyalarla Verilənləri Filtrləmək üçün VBA Kodunu Tətbiq edin

İndi biz Kişi Məzunlar üçün Süzüləcəyik tələbələr.

Addımlar:

  • ilk nümunənin ilk iki addımını izləyin VBA
  • Sonra, aşağıdakı kodları içinə yazın-
2017
  • Sonra VBA pəncərəsini minimuma endirmək .

Kod Dağılımı

  • Burada mən Alt prosedur yaratdım, Filter_Fərqli_Sütunlar() .
  • Sonra İlə ifadəsindən istifadə etdim>Birdən çox Sütun .
  • Sonra Dərzi istifadə edildiMüvafiq vərəq adını aralığı
  • elan etmək üçün xassədən istifadə etdim. mənim seçimim burada Field:=2 sütun 2 Sahə:=3 sütun 3 deməkdir.
  • Burada , Cins sütun üçün Kriteriya1:=”Kişi” Filtr üçün Status sütunu üçün Kriteriya1:=“Məzun” seçildi müxtəlif sütunlardan data.
  • Sonra birinci misaldan üçüncü addımı izləyin. Makrolar dialoq qutusu .
  • Daha sonra müəyyən edilmiş Makro adını seçin və Çalışdır düyməsini basın.

Budur, çoxsaylı kriteriyaların nəticəsi.

Ətraflı oxuyun: Excel VBA Eyni Sütunda Çoxsaylı Kriteriyalar üzrə Filtr etmək (6 Nümunə)

4. Excel-də ən yaxşı 3 elementi filtrləmək üçün VBA kodundan istifadə edin

Bu nümunədə biz ilk üç tələbəni onların yaşına görə süzgəcdən keçirəcəyik.

Addımlar:

  • VBA pəncərəsini açmaq üçün ilk nümunənin ilk iki addımını izləyin .
  • Sonra aşağıdakı kodları daxil edin-
6964
  • Bundan sonra -i minimuma endirin VBA pəncərəsi .

Kod Dağılımı

  • Burada mən Alt prosedur yaratdı, Filter_Top3_Items() .
  • Və sonra Operator:=xlTop10Items to Filtr üçün istifadə etdi. 1> ilk üçlük data .
  • İndi üçüncü addımı izləyin ilk nümunədən açın Makros dialoqu qutu .
  • Sonra kodlarda qeyd edildiyi kimi Makro adını seçin və Çalışdır düyməsini basın.

Sonra aşağıdakı şəkildəki kimi nəticə əldə edəcəksiniz-

Ətraflı oxuyun: Excel VBA-dan (4 Metoddan) istifadə edərək Hüceyrə Dəyəri əsasında Filtrləmə necə

Oxşar Oxumalar

  • Necə Kopyalama və Yapışdırma Filtr Excel-də Tətbiq olunur
  • Excel-də Unikal Dəyərləri Filtrləmə (8 Asan Yol)
  • VBA ilə Excel-də Çoxsaylı Kriteriyaları Filtrləmə (Hər ikisi) AND və OR Növləri)
  • Excel-də Mətn Filtrindən Necə İstifadə Edilir (5 Nümunə)
  • Excel-də Tarixə Görə Filtr Necə (4 Sürətli) Metodlar)

5. Excel-də Ən Yaxşı 50 Faizləri Filtrləmək üçün VBA Kodundan istifadə edin

Gəlin VBA kodlarından yaşlarına əsaslanan ən yaxşı əlli faiz tələbələri filtrləmək üçün istifadə edək .

Addımlar:

  • İlk olaraq, İlk iki addımı izləyin ilk nümunənin VBA pəncərəsini açmaq üçün.
  • Daha sonra aşağıdakı kodları içinə yazın-
Sub Filter_Top3_Items() ActiveSheet.Range("B4").AutoFilter Field:=4, Criteria1:="3", Operator:=xlTop10Items End Sub
  • VBA pəncərəsini minimuma endirin.

Kod Dağılımı

  • Burada mən Alt prosedur yaratdım, Filter_Top50_Percent() .
  • Daha sonra Operator:=xlTop10Percent -dən <1-ə qədər istifadə edildi> ilk əlli faizi filtrləyin sütun-4 .
  • Hazırda, ilk nümunədən üçüncü addımı izləyin Makrolar dialoq qutusu.
  • Sonra müəyyən edilmiş Makro adını seçin və Çalışdır düyməsini basın.

Cəmi 7 şagird idi, buna görə də 50 faiz üçün təxminən üç şagird göstərir.

Ətraflı oxuyun: Excel-də Mənfəət Faiz Formulasından Necə İstifadə Edilir (3 Nümunə)

6 . Wildcard istifadə edərək verilənləri süzmək üçün VBA kodunu tətbiq edin

Biz Excel-də məlumatları süzmək üçün Wildcard simvollarından-* (ulduz işarəsi) VBA kodlarında istifadə edə bilərik. Status sütunundan biz yalnız 'Post' ehtiva edən dəyərləri filtrləyəcəyik.

Addımlar:

  • VBA pəncərəsini açmaq üçün ilk nümunənin ilk iki addımını edin.
  • Sonra yazın. aşağıdakı kodları içində-
5717
  • Daha sonra VBA pəncərəsini minimuma endirin.

Kod bölgüsü

  • Burada mən Alt prosedur yaratdım, Filter_with_Wildcard() .
  • Daha sonra diapazonu təyin etmək üçün Range (“B4”) istifadə edildi.
  • Növbəti , istifadə edildi AutoFilter to Filtr in Sahəsində:=3 sütun 3 deməkdir.
  • Kriteriya1:=”*Post *” Süzün 'Yazı' olan dəyərləri.
  • İndi üçüncü addımı izləyin ilk Makrolar dialoqunu açmaq üçün nümunəsiqutusu.
  • müəyyən edilmiş Makro adını seçin və Çalışdır düyməsini basın.

Sonra istədiyiniz nəticəni əldə edəcəksiniz.

Ətraflı oxuyun: Excel-də filtri necə əlavə etmək olar (4 üsul )

7. Süzgəcdən keçmiş məlumatı Excel-də yeni vərəqə köçürmək üçün Excel VBA-nı yerləşdirin

Baxın ki, verilənlər bazamda bəzi Filtrlənmiş verilənlər var. İndi mən onları VBA istifadə edərək yeni vərəqə köçürəcəyəm. Bu kodlar vərəqdə düzgün işləməyəcək, siz onları modulda tətbiq etməli olacaqsınız.

Addımlar:

  • VBA

  • açmaq üçün Alt+F11 düymələrini basın, sonra Daxil et > Modul -dən ​​modulu açmaq .

  • İndi aşağıdakı kodları yazın
5737
  • Sonra VBA-nı minimuma endirin

Kod Parçalanması

  • Burada mən Alt prosedur yaratdım, Copy_Filtered_Data_NewSheet() .
  • Bundan sonra iki dəyişən elan etdi- x Rng diapazon kimi və xWS İş vərəqi kimi.
  • Sonra bir IF ifadəsini istifadə etdi. yoxlayın Süzülən
  • Daha sonra çıxışı göstərmək üçün MsgBox istifadə edildi.
  • Sonra İş vərəqləri (“Süzgələnmiş Məlumatların Kopyalanması”) istifadə edildi.AutoFilter Süzülən diapazonunu seçmək üçün diapazonu və yeni vərəq əlavə etmək üçün Əlavə istifadə edin.
  • Nəhayət, Kopyala Aralığı("G4") Süzülən məlumatı yeni vərəqə kopyalayacaq.
  • Daha sonra üçüncü addım birinci nümunədən Makrolar dialoq qutusunu açmaq üçün.
  • Sonra müəyyən edilmiş Makro adını Çalışdır düyməsini basın.

İndi Excel-in yeni vərəq açdığını və Filtrlənmiş sətirləri kopyaladığını görün.

Ətraflı oxuyun: Excel Filtri üçün Qısayol (Nümunələrlə 3 Sürətli İstifadə)

8. Açılan Siyahıdan istifadə edərək Verilənləri Filtrləmək üçün VBA Kodunu Tətbiq edin

Son nümunəmizdə əvvəlcə cinslər üçün açılan siyahı yaradacağıq, sonra onu məlumatları filtrləmək üçün istifadə edəcəyik. Bunun üçün mən gender meyarlarını başqa yerə yerləşdirdim və biz D14 xanasında açılan siyahı yaradacağıq.

Addımlar:

  • Cell D14 seçin.
  • Sonra klikləyin: Data > Məlumat Alətləri > Məlumatların Təsdiqlənməsi > Məlumatların Təsdiqlənməsi.

Tezliklə dialoq qutusu açılacaq.

Seçin Siyahı İcazə verin açılır.

Sonra Mənbə qutusundan Açıq işarəsinə klikləyin .

İndi kriteriya diapazonunu seçin Daxil edin düyməsini basın.

  • Hazırda sadəcə OK düyməsini basın.

İndi aşağıya açılan siyahımız hazırdır.

  • İndi VBA pəncərəsini açmaq üçün ilk nümunənin ilk iki addımını izləyin .
  • Sonra aşağıdakı kodları içinə yazın-
5375
  • Sonra VBA-nı minimuma endirinpəncərə .

Kod Dağılımı

  • Burada yaratdım a Özəl Alt prosedur, İş Cədvəli_Dəyişikliyi (Val Hədəf Aralığı kimi).
  • Sonra mən Ümumi dən İş vərəqi Bəyannamələrdən Dəyişiklik -ni seçdim.
  • Sonra yeri bilmək üçün Ünvanı təyin edin.
  • Nəhayət, ƏGƏR ifadəsi daxilində Avtomatik Filtr metodunu Sahə <2 ilə istifadə etdi>və Kriteriyalar
  • İndi sadəcə açılan siyahıdan meyarları seçin Filtr aktivləşdiriləcək .

Budur, açılan menyudan Kişi seçdikdən sonra Süzülən çıxışı.

Ətraflı oxuyun: Excel-də Başqa Vərəqdə Siyahıya görə Filtrləmə (2 Metod)

Təcrübə Bölməsi

Yuxarıda verilmiş Excel faylında izah edilmiş yolları məşq etmək üçün təcrübə vərəqi alacaqsınız.

Nəticə

Ümid edirəm ki, yuxarıda təsvir olunan prosedurlar excel-də VBA kodundan filtrdən məlumatlardan istifadə etmək üçün kifayət qədər yaxşı olacaq. Şərh bölməsində istənilən sualı verməkdən çekinmeyin və mənə rəy bildirin.

Hugh West sənayedə 10 ildən çox təcrübəyə malik yüksək təcrübəli Excel təlimçisi və analitikidir. Mühasibat uçotu və maliyyə üzrə bakalavr dərəcəsi və Biznesin idarə edilməsi üzrə magistr dərəcəsinə malikdir. Hugh tədrisə həvəslidir və izləmək və başa düşmək asan olan unikal tədris yanaşması işləyib hazırlayıb. Onun Excel üzrə ekspert biliyi bütün dünyada minlərlə tələbə və mütəxəssisə öz bacarıqlarını təkmilləşdirməyə və karyeralarında üstün olmağa kömək etmişdir. Hugh öz bloqu vasitəsilə biliklərini dünya ilə bölüşür, fərdlərə və müəssisələrə öz potensiallarını tam şəkildə çatdırmaq üçün pulsuz Excel dərsləri və onlayn təlimlər təklif edir.