Excel VBA中的本地窗口中未显示范围值

问题描述 投票:2回答:1

我想知道为什么本地窗口中列出的范围对象没有值属性。值2列在那里。同时我在代码中使用Range.Value,它可以正常工作:

Set Rng = Range("D6:D9")
Set Rng2 = Range("B2:B5")
Rng2.Value = Rng.Value

这是否意味着excel默认在value2中存储Range值?我只是好奇它是如何工作的。

vba range
1个回答
0
投票

我认为.Value属性没有在调试窗口中单独列出,因为自Office Office 2007,添加了可选参数以及通过类模块编写目标代码的经验,只有不带参数的属性列在locals窗口中。显示非常有用的另一个属性是:.Address但是这又有多个可选参数,所以我认为这是因为它没有列出。另一方面,.Value2没有参数,因此出现在本地窗口中。

可选参数在MS帮助中列为:.Value(RangeValueDataType),其中RangeValueDataType采用其中一个枚举值:

xlRangeValueDefault     
xlRangeValueMSPersistXML
xlRangeValueXMLSpreadsheet

但也许你错过了.Value确实出现在Local / Watch窗口的顶层灰色(如图所示)?这是因为.Value(xlRangeValueDefault)Range的默认值。

© www.soinside.com 2019 - 2024. All rights reserved.