如果资源数据为空,则清除数据透视表
我想检查一张工作表中的3个数据透视表的资源数据是否为空,如果是的话,它应该清除另一个工作表中的数据透视表内容而不删除数据透视表。 现在我的问题是,数据透视表也在更新之后提交最后一个值并且不清除它自己。 我总是得到一个方法不匹配的错误。 这是我的代码:
Dim pt As PivotTable Dim myCellRange As Range Set myCellRange = ThisWorkbook.Sheets("Data").Range("A1:A500") If ThisWorkbook.Sheets("Data").CountA(myCellRange) = 0 Then Set pt = ThisWorkbook.Sheets("Analysis").PivotTables(1) pt.ClearTable End If
任何想法是什么错误?
请检查以下内容:
Option Explicit Sub clearPivot() Dim pt As PivotTable Dim lastrow As Long lastrow = ThisWorkbook.Sheets("Data").Cells(Rows.Count, "A").End(xlUp).Row If lastrow = 1 Then Set pt = ThisWorkbook.Sheets("Analysis").PivotTables(1) pt.ClearTable End If End Sub
尝试这个。 要在VBA代码中使用工作表函数,您需要从application.WorksheetFunction
对象中解决它们。
Dim pt As PivotTable Dim myCellRange As Range Set myCellRange = ThisWorkbook.Sheets("Data").Range("A1:A500") If Application.WorksheetFunction.CountA(myCellRange) = 0 Then Set pt = ThisWorkbook.Sheets("Analysis").PivotTables(1) pt.ClearTable End If