dim是定义变量名(包括对象变量),
set是给对象变量赋值,
因此从功能上来看,这两个是完全不同的命令,因此谈不上有什么区别的问题。
它们是可以在一起使用的,比如:
dim obj ‘定义变量obj
set obj=createobject("........") '给obj赋值为对象
再如下列例子:
代码1:
1 Sub aa() 2 Dim rg As Range 3 Set rg = Range("A1") 4 With rg 5 End With 6 End Sub
代码2:
1 Sub bb() 2 rg = Range("A1") 3 With rg 4 End With 5 End Sub
两段代码,一段带set,一段不带set,区别在于:
set是将a1单元格这个对象赋值给了对象变量rg
第二段是将a1单元格的值赋值给了variant变量rg
第一段里可以在with语句中用.value获取a1单元格的值,设置单元格格式,等等可以对单元格进行的操作。
而第二段的with语句啥都不能干。