Set pc = ThisWorkbook.PivotCaches.Create(xlDatabase, ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, lastCol)))报错如何修改
时间: 2024-03-01 16:55:50 浏览: 52
003提取工作表名字共1页.pdf.zip
如果你在使用 `Set pc = ThisWorkbook.PivotCaches.Create(xlDatabase, ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, lastCol)))` 的时候出现了错误,可以尝试根据错误提示进行修改。以下是一些可能的解决方法:
1. 错误提示 "Compile error: Invalid use of property" 或 "Object required":
这种错误通常是因为 `xlDatabase` 参数应该在 `PivotCaches.Create` 方法之前被声明为常量。你可以尝试在宏的开头添加以下代码:
```VBA
Const xlDatabase As Integer = 1
```
然后在 `Set pc = ThisWorkbook.PivotCaches.Create(xlDatabase, ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, lastCol)))` 中使用 `xlDatabase` 常量即可。
2. 错误提示 "Compile error: Method or data member not found":
这种错误通常是因为你的 Excel 版本不支持 `PivotCaches.Create` 方法的第一个参数为 `xlDatabase`。你可以尝试使用以下代码替换 `Set pc = ThisWorkbook.PivotCaches.Create(xlDatabase, ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, lastCol)))`:
```VBA
Set pc = ThisWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=ws.Range(ws.Cells(1, 1), ws.Cells(lastRow, lastCol)))
```
这里使用了 `Create` 方法的命名参数 `SourceType` 和 `SourceData` 来代替位置参数。这种方法可以兼容较老的 Excel 版本。
希望这些方法能够帮助你解决问题。
阅读全文