学习啦>学习电脑>工具软件>办公软件学习>Excel教程>Excel2013教程> Excel数据透视表的打印功能怎么用

Excel数据透视表的打印功能怎么用

时间: 锦晖1117 分享

学习啦在线学习网Excel数据透视表的打印功能怎么用

学习啦在线学习网   在文档的使用过程中,打印功能对于我们来说并不陌生,在Excel数据透视表中也有打印功能。以下是学习啦小编为您带来的关于Excel数据透视表打印,希望对您有所帮助。

  Excel数据透视表打印

学习啦在线学习网   打印 数据透视表页字段中的每个数据项

  下面的代码将能够实现打印页字段中的每个数据项的功能(假定为一个页字段).请使用打印预览测试. 准备打印时, 请去掉 ActiveSheet.PrintOut代码前的单引号, 并在代码ActiveSheet.PrintPreview前添加一个单引号.

  Sub PrintPivotPages()

学习啦在线学习网   '打印数据透视表一个页字段下的每个数据项

学习啦在线学习网   '假设只有一个页字段存在

学习啦在线学习网   On Error Resume Next

  Dim pt As PivotTable

学习啦在线学习网   Dim pf As PivotField

  Dim pi As PivotItem

  Set pt = ActiveSheet.PivotTables.Item(1)

学习啦在线学习网   For Each pf In pt.PageFields

  For Each pi In pf.PivotItems

  pt.PivotFields(pf.Name).CurrentPage = pi.Name

学习啦在线学习网   ' ActiveSheet.PrintOut '使用这个代码打印

学习啦在线学习网   ActiveSheet.PrintPreview '使用这个代码预览

  Next

  Next pf

  End Sub

  打印数据透视表页字段下每个数据项的透视图

学习啦在线学习网   下面的代码将能够实现打印页字段中的每个数据项的透视图功能(假定为一个页字段).请使用打印预览测试. 准备打印时, 请去掉 ActiveSheet.PrintOut代码前的单引号, 并在代码ActiveSheet.PrintPreview前添加一个单引号.

学习啦在线学习网   Sub PrintPivotCharts()

  'prints a chart for each item in the page field

  Dim pt As PivotTable

学习啦在线学习网   Dim pf As PivotField

  Dim pi As PivotItem

学习啦在线学习网   Set pt = ActiveChart.PivotLayout.PivotTable

  For Each pf In pt.PageFields

  For Each pi In pf.PivotItems

学习啦在线学习网   pt.PivotFields(pf.Name).CurrentPage = pi.Name

  ' ActiveSheet.PrintOut

学习啦在线学习网   ActiveSheet.PrintPreview '打印预览测试

  Next

  Next pf

  End Sub

  打印数据透视表的每个页数据项 – 多个页字段

学习啦在线学习网   下面代码将完成打印数据透视表页数据项的每个组合. 如果 PrintFlag 不设置为 true, 描述信息将被写入PageItemList工作表.

  Option Compare Text

  Public mrow As Integer

  Public PrintFlag As Boolean

  '====================================================================

学习啦在线学习网   Sub PrintAllPages()

学习啦在线学习网   'from code posted by Tom Ogilvy

  'September 5 2004

  Dim holdSettings

  Dim ws As Worksheet

学习啦在线学习网   Dim wsPT As Worksheet

学习啦在线学习网   Set ws = Worksheets("PageItemList") 'sheet for page items

学习啦在线学习网   Set wsPT = Worksheets("Pivot") 'sheet with PivotTable

学习啦在线学习网   mrow = 0

学习啦在线学习网   If MsgBox("Print?", vbYesNo, "Print?") = vbYes Then

  PrintFlag = True

  Else

  PrintFlag = False

  MsgBox "Page field items will be listed on sheet " & ws.Name

  End If

学习啦在线学习网   If Not PrintFlag Then

学习啦在线学习网   ws.Cells(1, 1).CurrentRegion.Clear

  End If

  Set PvtTbl = wsPT.PivotTables(1)

学习啦在线学习网   wsPT.Activate

学习啦在线学习网   If PvtTbl.PageFields.Count = 0 Then

学习啦在线学习网   MsgBox "The PivotTable has no Pages"

  Exit Sub

  End If

  With PvtTbl

  ReDim holdSettings(1 To .PageFields.Count)

  I = 1

学习啦在线学习网   For Each PgeField In .PageFields

  holdSettings(I) = PgeField.CurrentPage.Name

学习啦在线学习网   I = I + 1

学习啦在线学习网   PgeField.CurrentPage = PgeField.PivotItems(1).Name

  Next PgeField

  End With

  PvtPage = 1

  PvtItem = 1

  DrillPvt oTable:=PvtTbl, Ipage:=PvtPage, wksht:=ws

  I = 1

学习啦在线学习网   For Each PgeField In PvtTbl.PageFields

学习啦在线学习网   PgeField.CurrentPage = holdSettings(I)

学习啦在线学习网   I = I + 1

  Next PgeField

  End Sub

  '====================================================================

学习啦在线学习网   Sub DrillPvt(oTable, Ipage, wksht)

  'Debug.Print "in DrillPvt, page:=" & Ipage & " Page Item: " & _

学习啦在线学习网   ' oTable.PageFields(Ipage).CurrentPage & " " & mrow

学习啦在线学习网   If Ipage = oTable.PageFields.Count Then

学习啦在线学习网   With oTable

学习啦在线学习网   For I = 1 To .PageFields(Ipage).PivotItems.Count

  .PageFields(Ipage).CurrentPage = _

学习啦在线学习网   .PageFields(Ipage).PivotItems(I).Name

学习啦在线学习网   mrow = mrow + 1

学习啦在线学习网   slist = ""

学习啦在线学习网   For j = 1 To .PageFields.Count

学习啦在线学习网   slist = slist & .PageFields(j).CurrentPage & " "

  Next j

学习啦在线学习网   ' Debug.Print slist

  If PrintFlag Then

学习啦在线学习网   '' ActiveSheet.PrintOut 'print the sheet

学习啦在线学习网   ActiveSheet.PrintPreview 'preview -- for testing

  Else

  For j = 1 To .PageFields.Count

  wksht.Cells(mrow, j).Value = _

  .PageFields(j).CurrentPage.Name

  Next j

  End If

  Next I

  End With

  For I = oTable.PageFields.Count - 1 To 1 Step -1

  For j = 1 To oTable.PageFields(I).PivotItems.Count

学习啦在线学习网   If oTable.PageFields(I).CurrentPage = _

  oTable.PageFields(I).PivotItems(j).Name Then

  CurrItem = j

  Exit For

  End If

  Next j

  If CurrItem <> oTable.PageFields(I).PivotItems.Count Then

学习啦在线学习网   oTable.PageFields(I).CurrentPage = _

学习啦在线学习网   oTable.PageFields(I).PivotItems(CurrItem + 1).Name

学习啦在线学习网   Ipage = I + 1

  DrillPvt oTable, Ipage, wksht

  Else

  If I <> 1 Then

  oTable.PageFields(I).CurrentPage = _

学习啦在线学习网   oTable.PageFields(I).PivotItems(1).Name

  Else

  Exit Sub

  End If

  End If

  Next I

  Else

学习啦在线学习网   DrillPvt oTable, Ipage + 1, wksht

  End If

  End Sub

猜你喜欢:

1.Excel数据透视表动态数据怎么制作

2.怎样在Excel2013数据透视表中统计不重复值数量

3.Excel2003怎么制作数据分析直方图

4.excel2010怎么使用数据有效性

5.excel2003透视表制作方法

3738433