Excelin pivot-taulukot ovat avainasemassa, kun tietoja on helpompi ymmärtää ja ymmärtää. Pivot-taulukko voi tiivistää ja murskata tiedot merkityksellisiksi rakenteiksi. MS Excelin käyttäjät ovat ottaneet ne laajalti käyttöön tietoteollisuudessa.

Tiesitkö, että voit automatisoida pivot-taulukot Excelissä ja luoda ne yhdellä napsautuksella? MS Excel integroituu hyvin VBA: n kanssa ja siitä on tullut erinomainen työkalu toistuvien tehtävien automatisointiin.

Näin voit automatisoida pivot-taulukon makrolla MS Excel VBA: ssa.

Käytä harjoitustietojoukkoa

Voit ladata ja käyttää nuken tietojoukko Tableausta noudattaa tämän oppaan VBA-skriptiä. VBA-koodi toimii minkä tahansa muun tietojoukon kanssa muutamalla perussäädöllä. Ennen kuin aloitat, varmista, että sinulla on käytössä olevat makrot Excel-työkirjassasi.

Pivot-taulukossa on muutamia tärkeitä sarakkeita, joita voit käyttää. Voit ymmärtää taulukon vivahteet ja lopullisen rakenteen luo peruspivot-taulukko manuaalisesti seuraavilla elementeillä:

instagram viewer
  • Suodattaa: Alue
  • Rivit: Alaluokka
  • Sarakkeet: Osavaltio
  • Arvot: Myynti

Päätypisteen pitäisi näyttää seuraavalta:

Voit kuitenkin antaa VBA: n tehdä sen automaattisesti manuaalisen valmistelun sijaan.

Pivot-taulukoiden automaattinen luominen Excelissä

Jos haluat automatisoida pivot-taulukot VBA: lla, avaa uusi Excel-tiedosto ja nimeä taulukot uudelleen seuraavasti:

  • Ensimmäinen arkki: Makro
  • Toinen arkki: Data

The Makro arkki sisältää makron komentosarjan, kun taas Data taulukko sisältää tietosi. Makrosivulle voit lisätä minkä tahansa muodon ja määrittää makron siihen. Napsauta muotoa hiiren kakkospainikkeella ja napsauta Assign Macro.

Napsauta seuraavassa valintaikkunassa makrosi nimeä ja napsauta Ok. Tämä vaihe määrittää makron muodolle.

1. Avaa Excel VBA -koodauseditori

Lehdistö Alt + F11 avataksesi koodieditorin. Kun olet koodieditorissa, napsauta hiiren kakkospainikkeella tiedoston nimeä ja sen jälkeen Lisää ja Moduuli. On tärkeää muistaa, että kirjoitat kaikki VBA-koodi moduuliin ennen sen suorittamista.

On hyvä käytäntö käyttää moduulin nimeä, joka resonoi koodin tarkoituksen kanssa. Koska tämä on esittely, voit määrittää moduulin nimen seuraavasti:

sub pivot_demo()

Moduulin nimi päättyy Lopeta ala, joka on moduulin loppukomento:

Loppu Sub

2. Ilmoita muuttujat

Aloita moduulin sisällä ilmoittamalla muuttujat, jotka tallentavat joitain käyttäjän määrittämiä arvoja, joita käytät komentosarjassa. Voit käyttää Himmeä lauseke muuttujien ilmoittamiseksi seuraavasti:

Himmeä PSheet Kuten Työarkki, DSheet Kuten Työarkki
Himmeä PvtCache Kuten PivotCache
Himmeä Pvt-taulukko Kuten Pivot-taulukko
Himmeä PvtRange Kuten Alue
Himmeä viimeinen_rivi Kuten Pitkä, Last_Col Kuten Pitkä
Himmeä sht1 kuten Variantti

Käytät näitä muuttujia seuraaviin:

  • PSheet: Kohdetaulukko, johon VBA luo pivotin.
  • DSheet: Tietolomake.
  • PvtCache: Pivot-välimuisti pitää pivotin.
  • Pvt-taulukko: Pivot-taulukon objekti.
  • PvtRange: Pivotin tietoalue.
  • Last_Row ja Last_Col: Viimeksi täytetty rivi ja sarake tietolomakkeessa (DSheet).
  • Sht1: Tämä muuttuja on muunnelma.

3. Estä varoitukset ja viestit

Tarpeettomat virheet, varoitukset ja viestit hidastavat VBA-koodeja. Tukahduttamalla tällaiset viestit voit nopeuttaa prosessia huomattavasti.

Käytä seuraavaa koodia:

Päällä Virhe Jatka seuraavaksi

Kanssa Sovellus
.DisplayAlerts = Väärä
.ScreenUpdating = Väärä
LoppuKanssa

Missä:

  • Virheestä Jatka seuraavaksi: Tämä lauseke estää kaikki ajonaikaiset virheet.
  • Sovellus: Sovellus viittaa MS Exceliin.
  • Display Alerts: DisplayAlerts-ominaisuus määrittää, näytetäänkö hälytyksiä.
  • Näytön päivitys: Tämä ominaisuus määrittää, päivitetäänkö muutokset reaaliajassa vai vasta kun koodi on suoritettu.

Kun tämä koodi suoritetaan, se estää kaikki hälytykset, varoitukset ja viestit, jotka Excel muuten näyttäisi. Voit poistaa DisplayAlerts- ja ScreenUpdating-parametrit käytöstä asettamalla niiden arvot Väärä.

Koodin loppua kohti voit ottaa ne uudelleen käyttöön asettamalla arvoksi Totta.

4. Poista kaikki olemassa olevat pivot-taulukot

Voit luoda uuden pivot-taulukon kahdella tavalla. Poista ensin olemassa oleva pivot-taulukko ja käytä VBA: ta uuden taulukon luomiseen pivotin tallentamiseksi. Vaihtoehtoisesti voit käyttää olemassa olevaa laskentataulukkoa pivotin pitämiseen.

Tässä oppaassa luodaan uusi pivot-taulukko pivot-taulukon tallentamista varten.

The jokaiselle loop selaa jokaisen työkirjan arkin läpi ja tallentaa arkin nimen sht1 muuttuja. Voit käyttää mitä tahansa muuttujan nimeä (sht1) pitääksesi arkin nimen. Silmukka käy läpi jokaisen nykyisen työkirjan arkin ja etsii sellaista jolla on tietty nimi (Pivot).

Kun arkin nimi täsmää, se poistaa taulukon ja siirtyy seuraavaan taulukkoon. Kun koodi tarkistaa kaikki taulukot, se poistuu silmukasta ja siirtyy koodin seuraavaan osaan, joka lisää uuden arkin, Pivot.

Näin voit tehdä sen:

vartenJokainensht1SisäänActiveWorkbook.Työtaulukot
Jos sht1.Nimi = "Pivot" Sitten
sht1.Poistaa
LoppuJos
Seuraava sht1

Työarkit. Lisätä. Nimi = "Pivot"

5. Määritä tietolähde ja pivot-taulukot

On välttämätöntä luoda muuttujia pivot- ja tietosivujen viitteiden tallentamiseksi. Nämä toimivat pikanäppäiminä, joihin voit viitata koko koodin loppuosassa.

Aseta PSheet = Työarkit("Pivot")
Aseta DSheet = Työtaulukot("Data")

6. Tunnista viimeksi käytetty rivi ja sarake

Tämä koodin osa toimii dynaamisesti, koska se kokoaa datan viimeksi täytetyn rivin ja sarakkeen.

Last_Row = DSheet. Solut (Rivit. Count, 1).Loppu (xlUp).Rivi
Last_Col = DSheet. Solut (1, sarakkeet. Count).Loppu (xlToLeft).Sarake
Aseta PvtRange = DSheet. Solut(1, 1).Muuta kokoa (viimeinen_rivi, viimeinen_sarake)

Missä:

  • Last_Row: Muuttuja, joka tallentaa viimeksi täytetyn rivin numeron, eli 9995
  • Last_Col: Muuttuja, joka tallentaa viimeksi täytetyn sarakkeen numeron, eli 21
  • PvtRange: PvtRange viittaa pivotin koko tietoalueeseen

7. Luo Pivot-välimuisti ja Pivot-taulukko

Pivot-välimuisti pitää pivot-taulukon; siksi sinun on luotava välimuisti ennen pivot-taulukon luomista. Sinun on käytettävä VBA: n syntaksiviittauksia pivot-välimuistin luomiseen Pivot-arkkiin.

Pivot-välimuistiin viittaamalla sinun on luotava pivot-taulukko. Osana pivot-taulukkoa voit määrittää taulukon, soluviittauksen ja pivot-taulukon nimen.

Aseta PvtCache = ActiveWorkbook. PivotCaches. Luo (SourceType:=xlDatabase, SourceData:=PvtRange).CreatePivotTable (TableDestination:=PSheet. Solut (2, 2), TaulukonNimi:="MUODemoTable")
Aseta PvtTable = PvtCache. CreatePivotTable (TableDestination:=PSheet. Solut (1, 1), TaulukonNimi:="MUODemoTable")

Missä:

  • ActiveWorkbook: Nykyinen työkirja, jossa sinulla on Data- ja Pivot-taulukko.
  • PivotCaches. Luoda: Oletussyntaksi pivot-välimuistin luomiseen.
  • Lähdetyyppi: Koska sinulla on tiedot työkirjassa, voit määrittää sen muodossa xl Tietokanta. Jotkut muut vaihtoehdot sisältävät xlConsolidation, xlUlkoinen, tai xlPivotTable.
  • Lähdetiedot: Voit viitata edelliseen pivot-alueeseen lähdetietona.
  • Luo PivotTable: Oletuskomento pivot-taulukon luomiseen.
  • TableDestination: Sinun on määritettävä taulukko- ja soluviittaukset, joihin haluat luoda pivotin.
  • Taulukon nimi: Määritä pivot-taulukon nimi.
  • Luo PivotTable: Oletuskomento pivot-taulukon luomiseksi pivot-välimuistiin.

8. Lisää rivejä, sarakkeita, suodattimia ja arvoja

Koska pivot-taulukko on valmis, sinun on aloitettava parametrien lisääminen suodattimiin, riveihin, sarakkeisiin ja koontiarvoihin. Voit käyttää VBA: ta kääntökentät komento aloittaaksesi yksityiskohtien ilmoittamisen.

Suodattimen arvojen lisääminen:

ActiveSheetin kanssa. Pivot-taulukot("MUODemoTable").PivotFields("Alue")
.Orientation = xlPageField
LoppuKanssa

Riviarvojen lisääminen:

ActiveSheetin kanssa. Pivot-taulukot("MUODemoTable").PivotFields("Alaluokka")
.Orientation = xlRowField
LoppuKanssa

Sarakearvojen lisääminen:

ActiveSheetin kanssa. Pivot-taulukot("MUODemoTable").PivotFields("Osavaltio")
.Orientation = xlColumnField
LoppuKanssa

Aggregointiarvojen lisääminen:

ActiveSheetin kanssa. Pivot-taulukot("MUODemoTable").PivotFields("Myynti")
.Orientation = xlDataField
.Toiminto = xlSum
LoppuKanssa

On tärkeää huomata, että sinun on viitattava aktiiviseen taulukkoon (pivot-taulukkoon), jota seuraa pivot-taulukon nimi ja muuttujan nimi. Kun sinun on lisättävä suodattimet, rivit ja sarakkeet, voit vaihtaa eri syntaksien välillä, mukaan lukien seuraavat:

  • xlPageField: Suodattimien lisääminen.
  • xlRowField: Rivien lisääminen.
  • xlRowField: Sarakkeiden lisääminen.

Lopuksi voit käyttää xlDataField -komento laskea arvoyhdistelmät. Voit käyttää muita koontifunktioita, kuten xlSum, xlAverage, xlCount, xlMax, xlMin ja xlProduct.

9. Excel VBA -koodin suorittaminen automaattisten pivotien luomiseksi

Lopuksi, kun koko ohjelma on valmis, voit suorittaa sen painamalla F5 tai napsauttamalla pelata -painiketta. Kun palaat työkirjan Pivot-taulukkoon, näet, että uusi pivot-taulukko on valmis tarkastettavaksi.

Jos haluat nähdä vaiheittaisen suorituksen siitä, kuinka koodikomento toistetaan rivi riviltä, ​​voit siirtyä koodieditoriin ja painaa F8 useita kertoja. Tällä tavalla näet, kuinka jokainen koodirivi toimii ja kuinka VBA luo pivotisi automaattisesti.

Opi koodaamaan pivot-taulukoita automaattisesti

Pivotit eivät rajoitu vain MS Exceliin. Ohjelmointikielet, kuten Python, antavat sinun luoda optimoituja pivoteja vain muutamalla koodirivillä.

Tietojen optimointi ei voi olla tämän helpompaa. Voit tehokkaasti poimia ja valita komentojasi Pythonissa ja suorittaa samanlaisen Excelin kaltaisen pivot-rakenteen helposti.