当我尝试直接引用某个范围内的值时,出现运行时错误 450,但如果我使用中间变量,它就会起作用。我不明白为什么,所以我担心在将来的某个时候我会再次遇到错误而不知道为什么。
我尝试过使用 With ... End With 块,但当我直接引用范围时它仍然不起作用。
这段代码给出了错误
Public Sub Test_PT()
Dim lol As String
lol = Worksheets(1).PivotTables("PivotTable2").RowRange(2, 1).Value
MsgBox (lol)
End Sub
虽然这段代码工作正常
Public Sub Test_PT()
Dim lol As String
Dim rng As Range
Set rng = Worksheets(1).PivotTables("PivotTable2").RowRange
lol = rng(2, 1).Value
MsgBox (lol)
End Sub
我不知道为什么它在第二个代码块中起作用,但在第一个代码块中不起作用。我尝试过设置中间变量的级别的变化。如果我创建一个数据透视表变量并适当设置它,代码运行正常,但如果我创建一个工作表变量并尝试使用工作表变量引用相同的范围,则代码不起作用。
虽然我可以通过使用中间变量来使这段代码正常工作,但我真的很想理解为什么我需要这样做,以防它出现在其他上下文中。
RowRange 属性返回一个Range
对象,但是它不需要任何参数,所以你不能传递任何内容。
lol = Worksheets(1).PivotTables("PivotTable2").RowRange.Cells(2, 1).Value
对我来说效果很好,也是如此
lol = Worksheets(1).PivotTables("PivotTable2").RowRange()(2, 1).Value
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)