Sayfa Alanındaki Her Değeri Yazdırın - Excel İpuçları

İçindekiler

Raj soruyor:

Sayfa alanında 150 farklı değerle oluşturulmuş bir Excel pivot tablom var. Her bir sayfayı tek tek yazdırmak için bir makroyu nasıl çalıştırabilirim? Makroyu kaydetmeyi denedim, ancak her sayfanın adını sabit kodluyor ve bu sayfalardan bazıları haftadan haftaya orada olmayabilir.

Visual Basic bunu bir çırpıda yapar. Bu makro aşağıdakileri kullanır:

  • PageFields toplama pivot tabloda size ilk sayfa alanının adını söyleyecektir.
  • PivotItems toplama sayfa alanındaki tüm öğelerin (sayfa) listesidir.
  • CurrentPage özelliği pivot tabloda, görüntülenen sayfayı değiştirmenizi sağlar.
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

Raj'a bu ipucunu bildirdiği için bir ipucu. Yukarıdaki makro, pivot tablonuzu Gelişmiş altında sıraladığınızda çalışmayacaktır. Bunu kılavuza sıfırlamak sorunu çözecektir.

Not

Bu ipucu, yazdırmak için her sayfa alanını gözden geçirecektir. Her sayfa alanı değeri için bir tane olmak üzere 150 farklı çalışma sayfası içeren bir çalışma kitabı oluşturmak istiyorsanız Sayfaları Göster özelliğini kullanabilirsiniz.

Ilginç makaleler...