Vihje: Muut kielet ovat Google-käännettyjä. Voit vierailla English tämän linkin versio.
Kirjaudu
x
or
x
x
Rekis.
x

or

Miten suodatetaan Pivot-taulukko tietyn solun arvon perusteella Excelissä?

Normaalisti suodatamme tietoja pivottaulukossa tarkistamalla arvot pudotusvalikosta vasempaan kuvakaappaukseen. Jos haluat tehdä pivottaulukosta dynaamisemman suodattamalla, voit yrittää suodattaa sen tietyn solun arvon perusteella. Tämän artikkelin VBA-menetelmä auttaa ratkaisemaan ongelman.

Suodattimen pivottaulukko, joka perustuu tiettyyn soluarvoon VBA-koodilla


Valitse helposti koko rivit solualueen perusteella varman sarakkeessa:

Det Valitse tietyt solut hyödyllisyys Kutools for Excel auttaa sinua valitsemaan nopeasti kaikki rivit solualueen perusteella Excelin certian-sarakkeessa alla olevan kuvakaappauksen alla. Kun olet valinnut kaikki rivit solualueen perusteella, voit siirtää niitä manuaalisesti tai kopioida ne uuteen paikkaan, kuten tarvitset Excelissä.

Kutools for Excel: enemmän kuin 200 kätevä Excel-lisäosat, voit kokeilla rajoituksia 60-päivinä. Lataa ilmainen kokeiluversio nyt!


Suodattimen pivottaulukko, joka perustuu tiettyyn soluarvoon VBA-koodilla

Seuraavan VBA-koodin avulla voit suodattaa pivot-taulukon tietyn solun arvon perusteella Excelissä. Tee näin seuraavasti.

1. Syötä arvo, jonka suodatetaan pivot-taulukon perusteella soluun etukäteen (tässä valitsen solun H6).

2. Avaa laskentataulukko sisältää pivot-taulukon, jonka suodatat solujen arvosta. Napsauta sitten välilehteä hiiren kakkospainikkeella ja valitse pikavalikosta Näytä koodi. Katso kuvakaappaus:

3. Avattu Microsoft Visual Basic for Applications ikkuna, kopioi VBA-koodin alla Koodi-ikkunaan.

VBA-koodi: Suodata Pivot-taulukko solujen arvon perusteella

Private Sub Worksheet_Change(ByVal Target As Range)
'Update by Extendoffice 20180702
    Dim xPTable As PivotTable
    Dim xPFile As PivotField
    Dim xStr As String
    On Error Resume Next
    If Intersect(Target, Range("H6:H7")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Set xPTable = Worksheets("Sheet1").PivotTables("PivotTable2")
    Set xPFile = xPTable.PivotFields("Category")
    xStr = Target.Text
    xPFile.ClearAllFilters
    xPFile.CurrentPage = xStr
    Application.ScreenUpdating = True
End Sub

Huomautuksia: Koodissa,

1) "Sheet1"On laskentataulukon nimi.

2) "PivotTable2"On pivot-taulukon nimi.

3) Pivot-taulukon suodatuskenttä on nimeltään "Kategoria".

4) Pivot-taulukon suodatusarvo sijoitetaan soluun H6.

Voit muuttaa edellä mainittuja muuttujia, kuten tarvitset

4. paina muut + Q avaimet sulkea Microsoft Visual Basic for Applications ikkunassa.

Tällöin pivottaulukko suodattaa solun H6 arvon perusteella alla olevan kuvakaappauksen mukaisesti:

Voit muuttaa solujen arvoa muille tarvittaviksi.

Huomautuksia: Soluun H6 kirjoittamat arvot vastaavat täsmälleen taulukon Pivot-taulukon avattavassa luettelossa olevia arvoja.


Office-välilehti - Työkirjojen pikaselaus, muokkaus ja hallinta Excelissä:

Office-välilehti tuo välilehden käyttöliittymän verkkoselaimissa, kuten Google Chrome, Internet Explorerin uusista versioista ja Firefoxista Microsoft Exceliin. Se on aikaa säästävä työkalu ja korvaamaton työsi. Katso alla demo:

Klikkaa ilmaiseksi Office-välilehtiä!

Office-välilehti Excelille


Aiheeseen liittyviä artikkeleita:


Suositeltavat tuottavuustyökalut

Excel-nauha (johon on asennettu Kutools for Excel)

300 + Lisäominaisuudet Lisää tuottavuuttasi 71%: lla ja auttaa sinua erottumaan joukosta!

Haluaisitko päivittäisen työnne nopeasti ja täydellisesti? Kutools for Excel tuo 300 + viileät ja tehokkaat lisäominaisuudet (Yhdistä työkirjat, summa värin mukaan, jaetun solun sisältö, muuntaa päivämäärä jne.) 1500 + työskenaariot, auttaa sinua ratkaisemaan 82% Excel -ongelmat.

  • Käsittele kaikki monimutkaiset tehtävät sekunneissa, auttaa parantamaan työkykyäsi, saat menestystä kovasta kilpailusta, ja älä koskaan huolehdi siitä, että laukaisit.
  • Säästä paljon työaikaa, jätä paljon aikaa rakastaa ja huolehtia perheestä ja nauttia viihtyisästä elämästä nyt.
  • Vähennä tuhansia näppäimistö- ja hiiren napsautuksia joka päivä, vapauta väsynyt silmäsi ja kädet, ja antaa sinulle terveen kehon.
  • Ryhdy Excel-asiantuntijaksi 3-minuuteissa ja ihaile katseesi kollegoistasi tai ystävistäsi.
  • Ei enää tarvitse muistaa tuskallisia kaavoja ja VBA-koodeja, on rentouttava ja miellyttävä mieli, anna sinulle jännitystä, jota et ole koskaan aikaisemmin ollut.
  • Vietä vain $ 39, mutta arvoinen on muiden kuin $ 4000 -koulutus. 110,000: n eliittien ja 300 +: n tunnettujen yritysten käyttämiä.
  • 60-päivän rajoittamaton ilmainen kokeilu. 60-päivän rahat takaisin-takuu. Ilmainen päivitys ja tuki 2-vuosille. Osta kerran, käytä ikuisesti.
  • Muuta nykyistä työskentelytapaa ja anna parempaa elämää välittömästi!

Office-välilehti tuo tehokkaat ja kätevät välilehdet toimistoon (mukaan lukien Excel), aivan kuten Chrome, Firefox ja uusi IE

  • Lisää 50%: n tuottavuutta, kun tarkastelet ja muokkaat useita asiakirjoja.
  • Vähennä satoja hiiren napsautuksia joka päivä, hyvästit hiirellä.
  • Avaa ja luo asiakirjoja samaan ikkunaan uusissa välilehdissä kuin uusissa ikkunoissa.
  • Auta sinua työskentelemään nopeammin ja helposti erottua joukosta! Yksi sekunti vaihtaa kymmeniä avoimia asiakirjoja!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Justin · 8 months ago
    How would you do this with a report filter that has a hierarchy?

  • To post as a guest, your comment is unpublished.
    Daniel · 9 months ago
    Using this code (updated for my variables of course), when changing the field, the filter changes momentarily to the correct one, and then clears itself almost immediately. Trying to figure out why it's doing this (wondering if it has something to do with the ClearAllFilters at the end of the sub?)