VBA automātiskais filtrs

VBA varat izveidot Automātiskais filtrs lai filtrētu šūnu diapazonu vai Excel tabulu. Šajā apmācībā jūs uzzināsit, kā izveidot Automātiskais filtrs vienai vai vairākām kolonnām un vairākiem nosacījumiem.

Ja vēlaties uzzināt, kā izmantot uzlaboto filtru VBA, noklikšķiniet šeit: VBA uzlabotais filtrs

Automātiskā filtra izveide VBA

Pirmkārt, jūs redzēsit, kā vienkārši izveidot Automātiskais filtrs diapazonā, lai lietotājs varētu filtrēt datus. Dati, kurus mēs izmantosim piemēros, ir parādīti 1. attēlā:

1. attēls. Automātiskā filtra piemēru dati

Šeit ir izveidošanas kods Automātiskais filtrs:

1 Sheet1.Range ("A1: E1"). Automātiskais filtrs

Lai iespējotu Automātiskais filtrs, mums jānorāda diapazona galvene, mūsu gadījumā A1: E1, un jāizmanto Automātiskais filtrs objekta metode Diapazons. Tā rezultātā mūsu datu diapazonā ir aktivizēti filtri:

2. attēls. Datiem ir iespējots automātiskais filtrs

Automātiskais filtrs ar lauka un kritēriju parametriem

VBA arī ļauj automātiski filtrēt noteiktu lauku ar noteiktām vērtībām.

Lai to izdarītu, jums jāizmanto parametri Lauks un Kritēriji1 metodi Automātiskais filtrs. Šajā piemērā mēs vēlamies filtrēt trešo kolonnu (Produkts) priekš Produkts A. tikai. Šeit ir kods:

12 Sheet1.Range ("A1: E1"). Automātiskā filtra lauks: = 3, _1. kritērijs: = "A produkts"

Iekš Lauks parametru, varat iestatīt kolonnas numuru diapazonā (nevis programmā Excel), kamēr Kritēriji1 varat ievietot vērtību, kuru vēlaties filtrēt. Pēc koda izpildes mūsu tabula izskatās šādi:

3. attēls. Automātiskais filtrs ar lauku un kritērijiem

Kā redzat, tikai rindas ar Produkts A. trešajā slejā tiek parādīti datu diapazonā.

Automātiskais filtrs ar lauka un vairāku kritēriju vērtībām

Ja vēlaties filtrēt vienu lauku ar vairākām vērtībām, jums jāizmanto parametrs Operators no Automātiskais filtrs metodi. Lai filtrētu vairākas vērtības, jums ir jāiestata Operators uz xlFilterValues un arī likt visas vērtības Kritēriji masīvā. Šajā piemērā mēs filtrējam Produkts kolonna par Produkts A. un Produkts B.. Šeit ir koda piemērs:

123 Sheet1.Range ("A1: E1"). Automātiskā filtra lauks: = 3, _1. kritērijs: = masīvs ("produkts A", "produkts B"), _Operators: = xlFilterValues

Izpildot kodu, mēs iegūstam tikai rindas ar produktu A un produktu B, kā redzams 4. attēlā:

4. attēls. Automātiskais filtrs ar vairākām kritēriju vērtībām

Automātiskā filtra datu diapazons ar vairākiem kritērijiem

Ja vēlaties filtrēt lauku ar vairākiem kritērijiem, tas ir jāizmanto Kritēriji1 un Kritēriji2 parametrus, bet arī Operators xlAnd.

Nākamajā piemērā mēs filtrēsim pirmo kolonnu (Datums) datumiem 2022. gada decembrī. Tāpēc mums ir divi kritēriji: datums, kas ir lielāks par 18.01.18. un mazāks par 31.12.18. Šis ir kods:

1234 Sheet1.Range ("A1: E1"). Automātiskā filtra lauks: = 1, _1. kritērijs: = "> = 12/01/2018", _Operators: = xlAnd, _2. kritērijs: = "<= 31.12.2018"

Kad mēs izpildām kodu, varat redzēt, ka datu diapazonā tiek parādīti tikai decembra datumi:

5. attēls. Automātiskais filtrs ar vairākiem lauka kritērijiem

AutoFilter metodes operatora parametru vērtības

Nākamajā tabulā. jūs varat redzēt visas iespējamās vērtības Operators AutoFilter metodes parametrs un to apraksti:

Operators Apraksts
xlUn Ietver vairākus kritērijus - 1. kritērijs un 2. kritērijs
xlOr Ietver vienu no vairākiem kritērijiem - 1. kritērijs vai 2. kritērijs
xlTop10Items Filtrē noteiktu skaitu visaugstāk novērtēto vērtību (skaitlis norādīts 1. kritērijā)
xlBottom10Items Filtrē noteiktu skaitu zemāko vērtējumu (skaitlis norādīts 1. kritērijā)
xlTop10Percent Filtrē noteiktu procentuālo daļu no augstāk novērtētajām vērtībām (% norādīts 1. kritērijā)
xlBottom10Percent Filtrē noteiktu procentuālo daļu no zemākajām vērtībām (%, kas norādīts 1. kritērijā)
xlFilterValues Ar masīvu ietver vairākas kritēriju vērtības
xlFilterCellColor Filtrē šūnas pēc krāsām
xlFilterFontColor Filtra šūnu šūnas
xlFIlterIcon Filtrē ikonas
xlFilterDynamic Filtrējiet dinamiskās vērtības

Jums palīdzēs attīstību vietā, daloties lapu ar draugiem

wave wave wave wave wave