- GetPivotData kasutamine väärtuse saamiseks
- Pöördtabeli loomine lehel
- Pöördtabeli loomine uuel lehel
- Väljade lisamine pöördetabelisse
- Pivot tabeli aruande paigutuse muutmine
- Pivot tabeli kustutamine
- Vormindage kõik töövihiku liigendtabelid
- Pöördtabeli väljade eemaldamine
- Filtri loomine
- Pivot tabeli värskendamine
See õpetus näitab, kuidas VBA abil liigendtabelitega töötada.
Pivot -tabelid on andmete kokkuvõtmise tööriistad, mille abil saate oma andmetest põhiteavet ja kokkuvõtteid teha. Vaatame näidet: lahtrites A1: D21 on lähteandmete kogum, mis sisaldab müüdud toodete üksikasju, mis on näidatud allpool:
GetPivotData kasutamine väärtuse saamiseks
Oletame, et teil on PivotTable -liigendtabel nimega PivotTable1, mille väljal Väärtused/Andmed on müük, väljal Toode rida ja väljal Veerud piirkond. PivotTable.GetPivotData meetodit saate kasutada pöördtabelite väärtuste tagastamiseks.
Järgmine kood tagastab PivotTable -liigendtabelist 1 130,00 dollarit (idapiirkonna kogumüük):
1 | MsgBox ActiveCell.PivotTable.GetPivotData ("Müük", "Piirkond", "Ida") |
Sel juhul on Müük „Andmeväli”, „Väli1” on Piirkond ja „Üksus1” on Ida.
Järgmine kood tagastab pöördtabelist 980 dollarit (toote ABC kogumüük põhjapiirkonnas):
1 | MsgBox ActiveCell.PivotTable.GetPivotData ("Müük", "Toode", "ABC", "Piirkond", "Põhja") |
Sel juhul on Müük „Andmeväli”, „Väli1” on Toode, „Toode1” on ABC, „Väli2” on Piirkond ja „Toode2” on Põhja.
Samuti saate lisada rohkem kui 2 välja.
GetPivotData süntaks on järgmine:
GetPivotData (Andmeväli, Väli1, Punkt 1, 2. väli, Punkt2… ) kus:
Parameeter | Kirjeldus |
---|---|
Andmeväli | Andmeväli, näiteks müük, kogus jne, mis sisaldab numbreid. |
1. väli | Tabeli veeru või rea välja nimi. |
Punkt 1 | Üksuse nimi väljal 1 (valikuline). |
2. väli | Tabeli veeru või rea välja nimi (valikuline). |
Punkt 2 | Üksuse nimi väljal 2 (valikuline). |
Pöördtabeli loomine lehel
Pivot -tabeli loomiseks ülaltoodud andmevahemiku alusel, aktiivse töövihiku lehe 1 lahtrisse J2, kasutaksime järgmist koodi:
1234567891011 | Töölehed ("Sheet1"). Lahtrid (1, 1). ValigeActiveWorkbook.PivotCaches.Create (SourceType: = xlDatabase, SourceData: = _"Sheet1! R1C1: R21C4", versioon: = xlPivotTableVersion15) .CreatePivotTable _TableDestination: = "Sheet1! R2C10", TableName: = "PivotTable1", DefaultVersion _: = xlPivotTableVersion15Sheets ("Sheet1"). Valige |
Tulemuseks on:
Pöördtabeli loomine uuel lehel
Pivot -tabeli loomiseks ülaltoodud andmevahemiku alusel, aktiivse töövihiku uuel lehel, kasutaksime järgmist koodi:
12345678910111213 | Töölehed ("Sheet1"). Lahtrid (1, 1). ValigeLehed. LisaActiveWorkbook.PivotCaches.Create (SourceType: = xlDatabase, SourceData: = _"Sheet1! R1C1: R21C4", versioon: = xlPivotTableVersion15) .CreatePivotTable _TableDestination: = "Sheet2! R3C1", TableName: = "PivotTable1", DefaultVersion _: = xlPivotTableVersion15Arvutustabelid ("Leht2"). Valige |
Väljade lisamine pöördetabelisse
Ülaltoodud andmevahemiku põhjal saate äsja loodud liigendtabelisse väljad lisada väljad PivotTable1. Märkus. Pivot -tabelit sisaldav leht peab olema aktiivne leht.
Toote väljale ridade lisamiseks kasutage järgmist koodi:
123 | ActiveSheet.PivotTables ("PivotTable1"). PivotFields ("Toode"). Orientation = xlRowFieldActiveSheet.PivotTables ("PivotTable1"). PivotFields ("Product"). Position = 1 |
Piirkonna lisamiseks veeruväljale kasutage järgmist koodi:
123 | ActiveSheet.PivotTables ("PivotTable1"). PivotFields ("Region"). Orientation = xlColumnFieldActiveSheet.PivotTables ("PivotTable1"). PivotFields ("Region"). Position = 1 |
Valuuta sektsiooni Müük valuutanumbri vormingus lisamiseks kasutage järgmist koodi:
123456789 | ActiveSheet.PivotTables ("PivotTable1"). AddDataField ActiveSheet.PivotTables (_"PivotTable1"). PivotFields ("Müük"), "Müügi summa", xlSumActiveSheet.PivotTables ("PivotTable1"). PivotFields ("Müügi summa").NumberFormat = "$#, ## 0.00"Lõpeta |
Tulemuseks on:
Pivot tabeli aruande paigutuse muutmine
Saate muuta oma liigendtabeli aruande paigutust. Järgmine kood muudab teie liigendtabeli aruande paigutuse tabelivormiks:
1 | ActiveSheet.PivotTables ("PivotTable1"). TableStyle2 = "PivotStyleLight18" |
Pivot tabeli kustutamine
Pivot tabeli saate kustutada VBA abil. Järgmine kood kustutab Pivot tabeli nimega PivotTable1 aktiivsel lehel:
12 | ActiveSheet.PivotTables ("PivotTable1"). PivotSelect "", xlDataAndLabel, TrueValik. Selge sisu |
Vormindage kõik töövihiku liigendtabelid
VBA abil saate vormindada kõik töövihiku liigendtabelid. Järgmine kood kasutab tsüklistruktuuri, et sirvida läbi kõik töövihiku lehed ja kustutada kõik töövihiku liigendtabelid:
12345678910111213 | AlamvormingAllThePivotTablesInAWorkbook ()Dim wks kui töölehtDim wb TöövihikunaMäära wb = ActiveWorkbookDim pt PivotTable -liigendtabelinaIga nädala jaoks wb. LehedIga pt nädala kohta. PivotTable -liigendtabelidpt.TableStyle2 = "PivotStyleLight15"Järgmine ptJärgmised nädaladEnd Sub |
Lisateavet silmuste kasutamise kohta VBA -s klõpsake siin.
Pöördtabeli väljade eemaldamine
Pivottabeli väljad saate eemaldada VBA abil. Järgmine kood eemaldab aktiivse lehe Pivot -tabeli nimega PivotTable1 jaotise Ridad tootevälja:
12 | ActiveSheet.PivotTables ("PivotTable1"). PivotFields ("Toode"). Orientatsioon = _xlPelatud |
Filtri loomine
Pivot -tabel nimega PivotTable1 on loodud jaotises Toode ridadega ja jaotises Väärtused müük. VBA abil saate luua ka oma liigendtabeli filtri. Järgmine kood loob filtri, mis põhineb jaotises Filtrid piirkonnal:
123 | ActiveSheet.PivotTables ("PivotTable1"). PivotFields ("Region"). Orientation = xlPageFieldActiveSheet.PivotTables ("PivotTable1"). PivotFields ("Region"). Position = 1 |
Pivot -tabeli filtreerimiseks ühe aruandeüksuse alusel, antud juhul idapiirkonnas, kasutage järgmist koodi:
12345 | ActiveSheet.PivotTables ("PivotTable1"). PivotFields ("Region"). ClearAllFiltersActiveSheet.PivotTables ("PivotTable1"). PivotFields ("Region"). CurrentPage = _"Ida" |
Oletame, et soovite filtreerida oma liigendtabelit mitme piirkonna (antud juhul ida ja põhja) põhjal, kasutades järgmist koodi:
1234567891011121314 | ActiveSheet.PivotTables ("PivotTable1"). PivotFields ("Region"). Orientation = xlPageFieldActiveSheet.PivotTables ("PivotTable1"). PivotFields ("Region"). Position = 1ActiveSheet.PivotTables ("PivotTable1"). PivotFields ("Region"). _EnableMultiplePageItems = TõsiActiveSheet.PivotTables ("PivotTable1"). PivotFields ("Region").PivotItems ("Lõuna"). Nähtav = vale.PivotItems ("Lääs"). Nähtav = valeLõpeta |
Pivot tabeli värskendamine
Pivot -tabelit saate värskendada VBA -s. Konkreetse tabeli nimega PivotTable1 VBA -s värskendamiseks kasutaksite järgmist koodi:
1 | ActiveSheet.PivotTables ("PivotTable1"). PivotCache.Refresh |