gpt4 book ai didi

vba - 基础 Excel VBA 类和对象

转载 作者:行者123 更新时间:2023-12-04 20:31:05 25 4
gpt4 key购买 nike

有些东西我不明白,我想它一定很基本。

有人可以向我解释类和对象之间的关系,以便我能理解下面发生的事情吗?
位置和名称都是数据透视表类的属性并返回字符串。
为什么第一条语句有效,但最后 4 条给出了错误
“对象不支持此操作(错误 445)”?

?ActiveWorkbook.ActiveSheet.PivotTables.Count
3
?ActiveWorkbook.ActiveSheet.PivotTables(1).Name
PivotTable12
?ActiveWorkbook.ActiveSheet.PivotTables(2).Name
PivotTable3
?ActiveWorkbook.ActiveSheet.PivotTables(3).Name
PivotTable2

?ActiveSheet.PivotTables(1).Location
?ActiveSheet.PivotTables(2).Location
?ActiveSheet.PivotTables(3).Location
?ActiveSheet.PivotTables("PivotTable12").Location

[Location Def][1]
[Immediate Window][2]
[Error][3]

最佳答案

某些对象具有并非在每个版本或每种情况下都可用的属性或方法。似乎 VBA 中的大多数任务都可以通过多种方式完成。对此,重要的是要乐于寻找“完成同一件事的替代方法”。

在这种情况下,我的下一步是通过 Set 检查在我的场景中哪些属性/方法可用于我的对象。将其设置为变量:

Dim p As PivotTable
Set p = ActiveSheet.PivotTables(1)
Stop

运行该代码,当执行中断时 Stop , 双击变量 p要选择它,右键单击它,单击 Add Watch...并点击 OK .

这将打开 Watches .使用 ⊞ 打开并浏览树以查看在此上下文中可用的内容。
Location可能会说“应用程序定义的错误...”但是也许您可以找到以下位置:
?p.DataBodyRange.Cells.Address

或者
?p.DataLabelRange.Cells.Address

...看看 Watches窗口在您使用的上下文中显示为可用。

关于vba - 基础 Excel VBA 类和对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50631226/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com