Iga väärtuse printimine leheväljale - Exceli näpunäited

Lang L: none (table-of-contents)

Raj küsib:

Mul on Exceli pöördtabel, mis on leheväljal seadistatud 150 erineva väärtusega. Kuidas saan makro käivitada iga üksiku lehe printimiseks? Proovisin makrot salvestada, kuid see kodeerib iga lehe nime kõvasti ja mõnda neist lehtedest ei pruugi nädalast nädalasse olla.

Visual Basic muudab selle kiireks. Selles makros kasutatakse järgmist:

  • PageFields kogumise ütleb teile nimi esilehel valdkonnas liigendtabelis.
  • PivotItems kogumine on nimekiri kõik elemendid (leheküljed) lehel valdkonnas.
  • CurrentPage vara võimaldab muuta mis kuvatakse lehekülg liigendtabelis.
Sub PrintAll() ' Find name of page field PageField1 = ActiveSheet.PivotTables("PivotTable1").PageFields(1) ' Save the name of the page field displayed when macro begins OrigPage = ActiveSheet.PivotTables("PivotTable1").PivotFields(PageField1).CurrentPage ' Determine how many pages there are in page field NumPages = ActiveSheet.PivotTables("PivotTable1").PivotFields(PageField1).PivotItems.Count For i = 1 To NumPages ThisPage = ActiveSheet.PivotTables("PivotTable1").PivotFields(PageField1).PivotItems(i) ActiveSheet.PivotTables("PivotTable1").PivotFields(PageField1).CurrentPage = ThisPage ActiveWindow.SelectedSheets.PrintOut Next i ' Print the (all) page ActiveSheet.PivotTables("PivotTable1").PivotFields(PageField1).CurrentPage = "(all)" ActiveWindow.SelectedSheets.PrintOut ' Restore view back to original page ActiveSheet.PivotTables("PivotTable1").PivotFields(PageField1).CurrentPage = OrigPage End Sub

Rajile näpunäide selle vihjega tagasituleku eest. Ülaltoodud makro ei tööta, kui liigendtabel on jaotises Täpsem sorteeritud. Selle lähtestamine käsitsi parandab probleemi.

Märge

See näpunäide vaatab läbi kõik leheväljad nende printimiseks. Kui soovite luua töövihiku, milles on 150 erinevat töölehte, üks iga lehevälja väärtuse jaoks, võite kasutada funktsiooni Näita lehti.

Huvitavad Artiklid...