"Main"シートにピボットテーブルがあります。 PivotField
"レポートフィルタ"には200カ国を含む "国コード"があります。 InputBoxを使用して、そのフィルタから1つ以上の国を表示する必要があります。Excel VBAで複数のPivotItemを表示する方法
問題は、フィルタで1つ以上の国またはALLを手動で選択してこのプログラムを実行する必要があることです。私はこれを行うことによって正しいデータを得ることができません。 すべての国の選択を解除してから、実行する必要があります。
マイコード
Sub Addcountries()
Dim ws As Worksheet
Dim str1 As Variant
Dim Data As Variant
Dim pf As PivotField
Dim target As PivotTable
Set ws = Sheets("Main")
str1 = Application.InputBox("Enter the Country - comma separated")
If str1 = False Then
MsgBox "Please Enter one Country", , "Filter Country"
Exit Sub
Else
If InStr(1, str1, ",") > 0 Then
Data = Split(str1, ",")
For i = LBound(Data) To UBound(Data)
ws.PivotTables("MainTable").PivotFields("Country Code").PivotItems(Data(i)).Visible = True
Next i
Else
ws.PivotTables("MainTable").PivotFields("Country Code").PivotItems(str1).Visible = True
End If
End If
End Sub
このコードでエラーが発生していますか?または機能が欠けていますか? –
私は問題が彼がInputboxで使っているデータであると思います。また、「ピボットテーブル」は、実際の参照値を使用し、手動入力からではありません。 @デパパク:入力項目のExcelを使ってみましたか? –
@shimエラーが発生していません。私はこのコードを改善する必要があります。私はフィルターのすべての項目をdeselctする必要があります。 – Deepak