1

我已经创建宏来更改所有工作表中 Pivot 的来源。在我的工作簿中,有一张带有 CityName 的表格,例如“Mumbai”(这是数据透视表)和带有名称“MumbaiData”(这是源表格)的源数据表格,有时我没有源表格,它会弹出一个错误 bcz。我如何处理此错误以恢复到下一张表的 Pivot

我的代码

Sub pivotsourcechange()


Dim ws As Worksheet
Dim pt As PivotTable

For Each ws In ActiveWorkbook.Worksheets
For Each pt In ws.PivotTables
ws.PivotTableWizard SourceType:=xlDatabase, SourceData:=Worksheets(ActiveSheet.Name & " PV").UsedRange
Next pt
Next ws
End Sub
4

1 回答 1

0

经常使用通常不是一个好主意,但On Error Resume Next在这里可以正常工作:

Sub pivotsourcechange()

  Dim ws As Worksheet
  Dim pt As PivotTable

  On Error Resume Next
  For Each ws In ActiveWorkbook.Worksheets
    For Each pt In ws.PivotTables
      ws.PivotTableWizard SourceType:=xlDatabase, SourceData:=Worksheets(ActiveSheet.Name & " PV").UsedRange
    Next pt
  Next ws
  On Error Goto 0
End Sub

可以做的还有很多On Error,包括转到另一个代码点来处理错误并返回。查看此链接以获取信息:http: //support.microsoft.com/kb/141571

于 2013-06-19T21:11:46.430 回答