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 |