VBA rakurstabula | Darbības, lai izveidotu rakurstabulu VBA

Excel VBA rakurstabula

Pagrieziena tabulas ir galvenā ziņojuma kopsavilkums par lielu datu apjomu. Mēs varam arī automatizēt pagrieziena tabulas izveidošanas procesu, izmantojot VBA kodēšanu. Tās ir svarīga jebkura pārskata vai informācijas paneļa sastāvdaļa, programmā Excel ir viegli izveidot tabulas ar pogu, taču VBA mums ir jāraksta daži kodi, lai automatizētu mūsu rakurstabulu, pirms Excel 2007 un tās vecākajām VBA versijām mums nebija nepieciešams izveidojiet kešatmiņu rakurstabulām, taču programmā Excel 2010 un tās jaunākajās versijās ir nepieciešamas kešatmiņas.

VBA mums var ietaupīt daudz laika mūsu darba vietā, kaut arī apgūt to nav tik vienkārši, bet ir vērts tērēt laiku, lai to iemācītos. Man vajadzēja 6 mēnešus, lai izprastu pagrieziena tabulu izveidošanas procesu, izmantojot VBA. Jūs zināt, ko šie 6 mēneši man ir darījuši brīnumus, jo, mēģinot izveidot pagrieziena tabulu, es pieļāvu tik daudz kļūdu.

Bet patiesībā es esmu mācījies no savām kļūdām, un tagad es rakstu šo rakstu, lai parādītu, kā izveidot rakurstabulas, izmantojot kodu.

Tikai ar vienas pogas klikšķi mēs varam izveidot pārskatus.

Darbības, lai izveidotu rakurstabulu VBA

Šo VBA rakurstabulas veidni varat lejupielādēt šeit - VBA rakurstabulas veidne

Lai izveidotu rakurstabulu, ir svarīgi, lai būtu dati. Šim nolūkam esmu izveidojis dažus fiktīvus datus. Varat lejupielādēt darbgrāmatu, kurai sekot līdzi ar tiem pašiem datiem.

1. darbība:  rakurstabula ir objekts, kas atsaucas uz rakurstabulu, kurā mainīgais tiek deklarēts kā rakurstabulas.

Kods:

 Apakšvirsmas tabula () Dim PTable kā rakurstabulas beigu apakšgrupa 

2. solis:  Pirms izveidojam rakurstabulu, vispirms jāizveido pagrieziena kešatmiņa, lai definētu datu avotu.

Regulārā darblapas rakurstabulā, neraizējoties par mums, fonā tiks izveidota pagrieziena kešatmiņa. Bet VBA mums ir jārada.

Šim nolūkam definējiet mainīgo PivotCache.

Kods:

 Dim PCache kā PivotCache

3. solis:  lai noteiktu pagrieziena datu diapazonu, definējiet mainīgo kā diapazonu.

Kods:

 Dim PRange kā diapazons

4. solis:  Lai ievietotu rakurstabulu, mums ir nepieciešama atsevišķa lapa, lai pievienotu darblapu rakurstabulai, mainīgo mainot kā darblapu.

Kods:

 Dim PSheet kā darblapa

5. darbība.  Līdzīgi kā atsauce uz datiem, kas satur darblapu, deklarējiet vēl vienu mainīgo kā darblapu.

Kods:

 Dim DSheet kā darblapa

6. solis: Visbeidzot, lai atrastu pēdējo izmantoto rindu un kolonnu, definējiet vēl divus mainīgos kā Long.

Kods:

 Dim LR Tik ilgi Dim LC Tik ilgi 

7. solis: Tagad mums jāievieto jauna lapa, lai izveidotu pagrieziena tabulu. Pirms tam, ja tur ir kāda pagrieziena lapa, mums tas ir jāizdzēš.

8. solis: Tagad iestatiet objekta mainīgo PSheet un DSheet attiecīgi uz Pivot Sheet un Data Sheet.

9. solis: datu lapā atrodiet pēdējo izmantoto rindu un pēdējo izmantoto kolonnu.

10. solis: Tagad iestatiet pagrieziena diapazonu, izmantojot pēdējo rindu un pēdējo kolonnu.

Tas lieliski iestatīs datu diapazonu. Tas automātiski izvēlēsies datu diapazonu, pat ja datu lapā ir kādi dati vai to dzēšana.

11. solis: Pirms izveidojam rakurstabulu, jāizveido pagrieziena kešatmiņa. Iestatiet pagrieziena kešatmiņas mainīgo, izmantojot zemāk esošo VBA kodu.

12. solis: Tagad izveidojiet tukšu rakurstabulu.

13. solis: Pēc rakurstabulas ievietošanas mums vispirms jāievieto rindas lauks. Tāpēc es ievietošu rindas lauku kā kolonnu Valsts.

Piezīme. Lejupielādējiet darbgrāmatu, lai izprastu datu kolonnas.

14. solis: Tagad vēl vienu vienumu ievietošu rindas laukā kā otro pozīcijas vienumu. Es ievietošu produktu kā otro rindas vienību rindas laukā.

15. solis: Pēc kolonnu ievietošanas rindas laukā kolonnu laukā jāievieto vērtības. Kolonnas laukā ievietošu “Segments”.

16. solis: Tagad mums datu laukā jāievieto skaitļi. Tāpēc datu laukā ievietojiet “Pārdošana”.

17. darbība: mēs esam pabeiguši rakurstabulas kopsavilkuma daļu, tagad tabula jāformatē. Lai formatētu rakurstabulu, izmantojiet zem koda.

Piezīme. Lai iegūtu vairāk dažādu tabulu stilu, ierakstiet tos makro un iegūstiet tabulu stilus.

Lai parādītu rindā iesniegto vērtību vienumus tabulas veidā, pievienojiet zemāk esošo kodu.

Labi, mēs esam pabeiguši, ja palaižam šo kodu, izmantojot F5 atslēgu, vai manuāli, tad mums vajadzētu iegūt šādu rakurstabulu.

Šādi izmantojot VBA kodēšanu, mēs varam automatizēt rakurstabulas izveidošanas procesu.

Jūsu zināšanai es norādīju zemāk esošo kodu.

Sub PivotTable () Dim PTable As PivotTable Dim PCache As PivotCache Dim PRange As Range Dim PSheet As Worksheet Dim DSheet As Worksheet Dim LR As Long Dim LC As Long On Error Resume Next Application.DisplayAlerts = False Application.ScreenUpdating = False Worksheet ("Pivot Lapa "). Dzēst 'Tas izdzēsīs esošās rakurstabulas darblapas darblapas darblapas.Pievienot pēc: = ActiveSheet' Tas pievienos jaunu darblapu ActiveSheet.Name =" rakurstabula "'Tas darblapu pārdēvēs par" rakurstatu " Set PSheet = Worksheets ("Pivot Sheet") Set DSheet = Worksheets ("Data Sheet") 'Atrodiet pēdējo izmantoto rindu un kolonnu datu lapā LR = DSheet.Cells (Rows.Count, 1) .End (xlUp) .Rinda LC = DSheet.Cells (1, Columns.Count) .End (xlToLeft). Column 'Iestatiet rakurstabulas datu diapazonu Set PRange = DSheet.Šūnas (1, 1). Resize (LR, LC) 'Set pivot cahe Set PCache = ActiveWorkbook.PivotCaches.Create (xlDatabase, SourceData: = PRange)' Izveidot tukšu rakurstabulu Set PTable = PCache.CreatePivotTable (TableDestination: = PSheet. Šūnas (1, 1), TableName: = "Sales_Report") 'Ievietojiet valsti rindā, kas iesniegta ar PSheet.PivotTables ("Sales_Report"). PivotFields ("Country"). Orientation = xlRowField .Position = 1 Beigt ar' Ievietot produktu Iesniegta rinda un 2. pozīcija ar PSheet.PivotTables ("Pārdošanas_atskaite"). PivotFields ("Produkts"). Orientācija = xlRowField. Pozīcija = 2 Beigt ar "Ievietot segmentu iesniegtajā slejā" un 1. pozīcija ar PSheet.PivotTables ("Pārdošanas_atskaite"). PivotFields ("Segments"). Orientācija = xlColumnField .Position = 1 Beigt ar 'Ievietot sleju Pārdošana datu laukā Ar PSheet.PivotTables ("Sales_Report"). PivotFields ("Sales"). Orientation = xlDataField .Position = 1 Beigas ar 'Formatēt rakurstabulas PSheet.PivotTables ("Sales_Report"). ShowTableStyleRowStripes = True PSheet.PivotTables ("Sales_Report2"). "PivotStyleMedium14" 'Rādīt tabulas veidā PSheet.PivotTables ("Pārdošanas_ziņojums"). RowAxisLayout xlTabularRow Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub) .RowAxisLayout xlTabularRow Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub) .RowAxisLayout xlTabularRow Application.DisplayAlerts = True Application.ScreenUpdating = True End Sub

$config[zx-auto] not found$config[zx-overlay] not found