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語句啥都不能干。