本帖最后由 adders 于 2011-12-27 23:10 编辑
吕布说明得很好,我再形象说明一下:
当你Dim x AS y的时候,这个AS后面的东西如果是Object(物件,对象),那么接下来第一次引用的时候就要用Set x = ...; 如果AS后面的东西是赋予x值属性时(如Integer, long, double, boolean, string, variant) 的时候,接下来引用时,就不用Set,直接就是x = ...
Set x = Nothing是针对于当X被赋予成Object后,运行完程序后,为清空内存的保全做法(大部分情况下,即使你在程序结束前不加这句,x值也会清空,但有时候会有内存未清理情况,所以Set x = object后Set x = Nothing是一个良好的编程习惯.)
比如,Workbook, Worksheet, Range这些都是Object, 而Workbook.Name, Range.Value这些就是值,体会一下以下实例:
Dim X as Worksheet, Y as Range '这些是Object
Set X = ActiveSheet
Set Y = X.Range("A1:D5")
Dim A as String, B as String '这些是值
A = ActiveSheet.Name
B = ActiveCell.Value
|