excel - vba中dim和set有什么区别

标签 excel vba vb6

请原谅我,我是 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"

对象的一个示例是RangeWorksheetWorkbook。它们有自己的方法和属性。

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/

相关文章:

C# - 编写 COM 服务器 - 映射到方法的属性

vba - Excel 插值法使用连续顺序的相同值的几个单元格

Excel VBA更改按钮大小和位置

excel - 来自动态范围的 VBA 范围值

vba - 如何使用动态密码保护 Workbook_Open 事件上的工作表

vba - 如何在 Excel VBA 中将值从一个子传递到另一个子

.net - Iterop Forms Toolkit 验证和焦点事件

excel - 如何在VBA中应用MATCH()函数?

java - 从 Excel JDBC 将数据插入 MySQL - POI 示例程序

VB6 构建后崩溃