2014-08-28 10 views
0

В моей таблице я имею переменные данные; однако у меня есть определенный набор атрибутов, которые я хочу отфильтровать, если/когда они появятся в прогоне данных на этой неделе. Если они не появляются, я бы хотел, чтобы фильтр Pivot Table пропустил его и перешел к следующему. К сожалению, я продолжаю получать ошибки отладки при попытке запустить мой макрос. Может ли кто-нибудь помочь?Ошибка фильтра сводной таблицы макросов VBA

I.E. Если «1G1N13S2» не находится в переменных [raw] данных, это приведет меня прямо к VBA, чтобы отлаживать, а не пропускать его (как false, так и true), чтобы продолжить последующий идентификатор #.

'PivotTable 
FinalRow = Cells(Rows.Count, 1).End(xlUp).Row 
ActiveWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:=ActiveSheet.UsedRange). _ 
    CreatePivotTable TableDestination:="", TableName:="PivotTable1", DefaultVersion:=xlPivotTableVersion10 
    ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1) 
    ActiveSheet.Cells(3, 1).Select 

' BCA_Other Macro 
With ActiveSheet.PivotTables("PivotTable1").PivotFields("ACTIVITY_ID") 
    .Orientation = xlRowField 
    .Position = 1 
End With 
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables(_ 
    "PivotTable1").PivotFields("SUM_$"), "Count of SUM_$", xlCount 
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Count of SUM_$") 
    .Caption = "Sum of SUM_$" 
    .Function = xlSum 
    .NumberFormat = "#,##0.00_);[Red](#,##0.00)" 
End With 
With ActiveSheet.PivotTables("PivotTable1").PivotFields("WK_END_DATE") 
    .Orientation = xlColumnField 
    .Position = 1 
End With 
With ActiveSheet.PivotTables("PivotTable1").PivotFields("WK_END_DATE") 
    .PivotItems("(blank)").Visible = False 
End With 
With ActiveSheet.PivotTables("PivotTable1").PivotFields("ANALYSIS_TYPE") 
    .Orientation = xlPageField 
    .Position = 1 
End With 
ActiveSheet.PivotTables("PivotTable1").PivotFields("ANALYSIS_TYPE"). _ 
    CurrentPage = "ACT" 
With ActiveSheet.PivotTables("PivotTable1").PivotFields("BUS_UNIT_GL_FROM") 
    .Orientation = xlPageField 
    .Position = 1 
End With 
    ActiveSheet.PivotTables("PivotTable1").PivotFields("BUS_UNIT_GL_FROM"). _ 
    CurrentPage = "AV" 

    'Activity ID Filter 
    With ActiveSheet.PivotTables("PivotTable1").PivotFields("ACTIVITY_ID") 
    .PivotItems("1G1N13S2").Visible = False 
    .PivotItems("1G1N2SAN").Visible = False 
    .PivotItems("1G1N5ACC").Visible = False 
    .PivotItems("1G1N5SCI").Visible = False 
    .PivotItems("1G1N5SDV").Visible = False 
    .PivotItems("1G1N5SMS").Visible = False 
    .PivotItems("1G1N5SST").Visible = False 
    .PivotItems("1G1N9BAT").Visible = False 
    .PivotItems("1G1N9EBT").Visible = False 
    .PivotItems("1G1N9EPL").Visible = False 
    .PivotItems("E6T66ZAV").Visible = True 
    .PivotItems("E6T66ZB3").Visible = True 
    .PivotItems("E6T66ZB4").Visible = True 
    .PivotItems("E6T66ZB5").Visible = True 
    .PivotItems("E6T66ZCU").Visible = True 
    .PivotItems("E6T66ZDX").Visible = True 
    .PivotItems("E6T66ZE9").Visible = True 
    .PivotItems("E6T66ZIL").Visible = True 
    .PivotItems("E6T66ZIS").Visible = True 
    .PivotItems("E6T66ZIV").Visible = True 
    .PivotItems("E6T66ZIZ").Visible = True 
    .PivotItems("E6T66ZJ6").Visible = True 
    .PivotItems("E6T66ZJ8").Visible = True 
    .PivotItems("E6T66ZJA").Visible = True 
    .PivotItems("EMAD0005").Visible = False 
    .PivotItems("EMADF006").Visible = False 
    .PivotItems("F8800YN5").Visible = True 
    .PivotItems("F8800YNU").Visible = True 
    .PivotItems("F8800YNW").Visible = True 
    .PivotItems("F8800YPM").Visible = True 

End With 

'Add new tabs for Hours and rename tabs to Dollars and Hours 
Sheets("Sheet1").Select 
Sheets("Sheet1").Name = "BCA_Other_Dlrs" 
Sheets("BCA_Other_Dlrs").Select 
Sheets("BCA_Other_Dlrs").Copy Before:=Sheets(1) 
Range("B18").Select 
ActiveSheet.PivotTables("PivotTable1").PivotFields("Sum of SUM_$").Orientation _ 
    = xlHidden 
With ActiveSheet.PivotTables("PivotTable1").PivotFields("SUM_HOURS") 
    .Orientation = xlRowField 
    .Position = 2 
End With 
ActiveSheet.PivotTables("PivotTable1").PivotFields("SUM_HOURS").Orientation = _ 
    xlHidden 
ActiveSheet.PivotTables("PivotTable1").AddDataField ActiveSheet.PivotTables(_ 
    "PivotTable1").PivotFields("SUM_HOURS"), "Count of SUM_HOURS", xlCount 
With ActiveSheet.PivotTables("PivotTable1").PivotFields("Count of SUM_HOURS") 
    .Caption = "Sum of SUM_HOURS" 
    .Function = xlSum 
    .NumberFormat = "#,##0.0_);[Red](#,##0.0)" 
+0

Каковы «ошибки отладки» и где они происходят? – skrrgwasme

ответ

1

Итак, я получил ответ о том, как исправить это.

On Error Resume Next 
With ActiveSheet.PivotTables("PivotTable1").PivotFields("ACTIVITY_ID") 
.PivotItems("1G1N13S2").Visible = False 
.PivotItems("1G1N2SAN").Visible = False 
.PivotItems("1G1N5ACC").Visible = False 
.PivotItems("1G1N5SCI").Visible = False 
.PivotItems("1G1N5SDV").Visible = False 
.PivotItems("E6T66ZJA").Visible = True 
End With 
On Error Goto 0 
Смежные вопросы