请原谅我,我是 VBA 新手。
有时我会使用
Dim r as Range
r = Range("A1")
其他时候我使用
Set r = Range("A1")
有什么区别?我什么时候应该使用什么?
最佳答案
除非引用对象引用,否则没有理由使用set
。最好只在这种情况下使用它。对于所有其他简单数据类型,只需使用赋值运算符即可。不过,dim
(维度)所有变量是个好主意:
简单数据类型的示例为整数
、长
、 bool
、字符串
。这些只是数据类型,没有自己的方法和属性。
Dim i as Integer
i = 5
Dim myWord as String
myWord = "Whatever I want"
对象
的一个示例是Range
、Worksheet
或Workbook
。它们有自己的方法和属性。
Dim myRange as Range
Set myRange = Sheet1.Range("A1")
如果您尝试在没有 Set
的情况下使用最后一行,VB 将抛出错误。现在您已经声明了一个对象
,您可以访问它的属性和方法。
myString = myRange.Value
关于excel - vba中dim和set有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3872339/