全部-这在RE:Excel VBA中。 我正在寻找通过切片器选择和打印PDF的循环。我的代码确实适用于标准数据透视表,但是在PowerPivot上使用它时却无法正常工作,这正是我想要的。
任何人都可以阐明如何翻转下面的内容以使其在powerpivot中起作用吗? (来自功率枢轴源数据的切片器)
Option Explicit
Sub ExportPDFs()
Dim sI As SlicerItem, sI2 As SlicerItem, sc As SlicerCache
Dim fname$
Set sc = ActiveWorkbook.SlicerCaches("Slicer_Date")
With sc
For Each sI In sc.SlicerItems
If sI.HasData = True Then
sc.ClearManualFilter
For Each sI2 In sc.SlicerItems
If sI.Name = sI2.Name Then sI2.Selected = True Else: sI2.Selected = False
Next
Debug.Print sI.Name
fname = sI.Caption & " " & Format(Date, "MM-DD-YYYY") & " " & "Report"
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=fname, _
Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
End If
Next
ActiveWorkbook.SlicerCaches("Slicer_Year").ClearManualFilter
MsgBox "Reports Saved"
End With
End Sub
答案 0 :(得分:0)
这适用于Power Pivot型号,只需更改切片器名称,文件名规则等即可满足您的需求。
此VBA将循环遍历Power Pivot切片器,并将结果打印到 'PDF。 “要使其正常工作,请在VBA下方更改切片器名称和存储位置。
m[9]
如果您只想循环/打印带数据的切片器,以下代码将起作用:
m = str(9119)
mm = [int(x)**2 for x in m] #Thanks @Gelineau