VBA -automaattisuodatin

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

Tulet auttaa kehittämään sivuston jakaminen sivu ystävillesi

wave wave wave wave wave