gpt4 book ai didi

vba - (VBA) 何时使用 .cell(1,1) 或 .cell(1,1) 值引用

转载 作者:行者123 更新时间:2023-12-04 23:16:41 24 4
gpt4 key购买 nike

在我的宏中,当我引用在单元格中找到的值时,我一直不一致地使用 .cell(r,c) 或 .cell(r,c).value。

dim c as variant 
c = sheet1.cell(1,1) 'or sheet1.cell(1,1).value

两个引用文献都是正确的还是有首选的方法?

最佳答案

.Value是范围对象的默认属性。因此,当您分配如下内容时:

myVar = myRange

它相当于 myVar = myRange.Value ,因为您分配的是变量而不是对象。

但是,如果您使用 Set , 像这样:
Set myObj = myRange

您将分配一个对象引用。关键词 Set告诉 VBA 您正在分配一个对象引用。缺席 Set使 VBA 得出结论,您隐含地想要获得 .value ,范围的默认属性。

使用 .value 是一个很好的编程习惯明确地说,有两个原因:

1-它使代码更具可读性,因为读者不必隐式猜测发生了什么

2- 随着 VB.net 的出现, 关键字 Set已经消失;分配对象或普通变量的语法变得相同。由于这个原因,默认的属性习惯用法在 VB.net 中消失了。因此,好的做法是使用 .value在 VBA 中也是如此,因为它使您的代码最终移植到 VB.net 变得更加容易。

关于vba - (VBA) 何时使用 .cell(1,1) 或 .cell(1,1) 值引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42894223/

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