"Main"시트에 피벗 테이블이 있습니다. PivotField
"Report Filter"에는 200 개국이 포함 된 "국가 별 코드"가 있습니다. InputBox를 사용하여 해당 필터에서 1 개 이상의 국가를 표시하고 싶습니다.Excel VBA에서 여러 PivotItem을 표시하는 방법
문제는 필터에서 수동으로 하나 이상의 국가 또는 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에서 사용하고있는 데이터와 관련이 있다고 생각합니다. 그리고 '피벗 테이블 (Pivot Table)'은 수동 입력이 아닌 Excel의 실제 참조 값을 사용합니다. @ 디팍 : 입력 항목에 Excel을 사용해 보았습니까? –
@shim 오류가 발생하지 않습니다. 이 코드를 개선해야합니다. 필터의 모든 항목을 제거해야합니다. – Deepak