VBA: ssa voit luoda Automaattinen suodatin suodattaaksesi solualueen tai Excel -taulukon. Tässä opetusohjelmassa opit luomaan Automaattinen suodatin yhdelle tai useammalle sarakkeelle ja useille ehdoille.
Jos haluat oppia käyttämään lisäsuodatinta VBA: ssa, napsauta tätä: VBA -lisäsuodatin
Automaattisen suodattimen luominen VBA: ssa
Ensin näet, kuinka vain luoda Automaattinen suodatin alueella, joten käyttäjä voi suodattaa tiedot. Tiedot, joita käytämme esimerkeissä, ovat kuvassa 1:
Kuva 1. Automaattisuodattimen esimerkkejä koskevat tiedot
Tässä on koodi luomiseen Automaattinen suodatin:
1 | Sheet1.Range ("A1: E1"). Automaattinen suodatin |
Ota käyttöön Automaattinen suodatin, meidän on määritettävä alueen otsikko, meidän tapauksessamme A1: E1, ja käytettävä Automaattinen suodatin objektin menetelmä Alue. Tämän seurauksena tietoalueellamme on aktivoitu suodattimia:
Kuva 2. Automaattinen suodatin käytössä tiedoille
Automaattinen suodatin kenttä- ja kriteeriparametreilla
VBA: n avulla voit myös suodattaa tietyn kentän automaattisesti tietyillä arvoilla.
Tätä varten sinun on käytettävä parametreja Ala ja Kriteerit 1 menetelmästä Automaattinen suodatin. Tässä esimerkissä haluamme suodattaa kolmannen sarakkeen (Tuote) varten Tuote A vain. Tässä on koodi:
12 | Sheet1.Range ("A1: E1"). Automaattisuodatinkenttä: = 3, _Kriteerit1: = "Tuote A" |
Kohteessa Ala parametri, voit asettaa sarakkeen numeron alueella (ei Excelissä), kun olet Kriteerit 1 voit laittaa arvon, jonka haluat suodattaa. Koodin suorittamisen jälkeen taulukko näyttää tältä:
Kuva 3. Automaattinen suodatin kentän ja ehtojen kanssa
Kuten näet, vain rivit, joissa on Tuote A kolmannessa sarakkeessa näkyvät tietoalueella.
Automaattinen suodatin kenttä- ja useiden ehtojen arvoilla
Jos haluat suodattaa yhden kentän, jossa on useita arvoja, sinun on käytettävä parametria Operaattori ja Automaattinen suodatin menetelmä. Jos haluat suodattaa useita arvoja, sinun on asetettava Operaattori kohteeseen xlFilterValues ja myös laittaa kaikki arvot Kriteeri matriisissa. Tässä esimerkissä suodatamme Tuote sarake Tuote A ja Tuote B. Tässä on esimerkki koodista:
123 | Sheet1.Range ("A1: E1"). Automaattisuodatinkenttä: = 3, _Kriteerit1: = Array ("Tuote A", "Tuote B"), _Operaattori: = xlFilterValues |
Kun suoritamme koodin, saamme vain rivit, joissa on tuote A ja tuote B, kuten näet kuvassa 4:
Kuva 4. Automaattinen suodatin, jossa on useita ehtoarvoja
AutoFilter Data Range, jossa on useita ehtoja
Jos haluat suodattaa kentän, jossa on useita ehtoja, sinun on käytettävä Kriteerit 1 ja Kriteerit 2 parametrit, mutta myös Käyttäjä xlJa.
Seuraavassa esimerkissä suodatamme ensimmäisen sarakkeen (Päivämäärä) joulukuussa 2022. Tämä on koodi:
1234 | Sheet1.Range ("A1: E1"). Automaattisuodatinkenttä: = 1, _Ehdot1: = "> = 12.1.2018", _Operaattori: = xlJa, _Ehdot2: = "<= 31.12.2018" |
Kun suoritamme koodin, näet, että vain joulukuun päivämäärät näkyvät tietoalueella:
Kuva 5. Automaattinen suodatin, jossa on useita kentän ehtoja
AutoFilter -menetelmän operaattorin parametriarvot
Seuraavassa taulukossa. näet kaikki mahdolliset arvot Operaattori AutoFilter -menetelmän parametri ja niiden kuvaukset:
Operaattori | Kuvaus |
xlJa | Sisältää useita ehtoja - kriteerit 1 ja kriteerit 2 |
xlOr | Sisältää yhden useista kriteereistä - kriteerit 1 tai kriteerit 2 |
xlTop10Items | Suodattaa tietyn määrän korkeimmin sijoitettuja arvoja (ehto 1 määritetty luku) |
xlBottom10Itsems | Suodattaa tietyn määrän alimmassa arvossa olevia arvoja (ehto 1 määritetty luku) |
xlTop10Percent | Suodattaa tietyn prosenttiosuuden korkeimmin sijoitetuista arvoista (% määritetty kriteereissä 1) |
xlAla10Prosentti | Suodattaa tietyn prosenttiosuuden pienimmistä sijoitetuista arvoista (% määritetty kriteereissä 1) |
xlFilterValues | Sisältää useita ehtoarvoja taulukon kanssa |
xlFilterCellColor | Suodattaa värien solut |
xlFilterFontColor | Suodattaa kirjasinvärien solut |
xlFIlterIcon | Suodattaa kuvakkeet |
xlSuodatinDynaaminen | Suodata dynaamisia arvoja |