スライサー (およびサブスライサー) が接続されたピボット ダイアグラムがあります。出力を返すvbaのすべてのスライサーオプションを1つずつ繰り返したいと思います(空のチャート領域だけでなく、グラフに何かを表示します)。
VBAでそれを行うにはどうすればよいですか?
編集 私はこのコードでスライサーリストを反復しようとしていますが、スライサーの選択は決して変わりません:
For Each Si In ActiveWorkbook.SlicerCaches("Slicer_Afsnit").SlicerItems
If (Si.HasData) Then
Si.Selected = True '<<<<<<< this line here does nothing apparently!, the graphs stay the same always, when copied to new documents
Set WDDoc = WDApp.Documents.Add
For iCht = 1 To ActiveSheet.ChartObjects.Count
' copy chart as a picture
ActiveSheet.ChartObjects(iCht).Chart.CopyPicture _
Appearance:=xlScreen, Size:=xlScreen, Format:=xlPicture
WDApp.Selection.Range.PasteSpecial Link:=False, DataType:=wdPasteMetafilePicture, _
Placement:=wdInLine, DisplayAsIcon:=False
WDApp.Selection.MoveEnd wdStory
WDApp.Selection.Move
Next
WDDoc.SaveAs (ThisWorkbook.Path & "\" & FileFriendly(Si.Name) & ".doc")
WDDoc.Close ' close the document
'get mail for the department
depmail = Cells(ActiveWorkbook.Sheets("Enheder").UsedRange.Find(Si.Name).Row, 2).value
If Not (depmail = "") Then
X = SendMail(depmail, "ugentlig audit", "Resultater for " & Si.Name, ThisWorkbook.Path & "\" & Si.Name & ".doc")
End If
End If