本帖最后由 qushui 于 2012-8-26 07:56 编辑
Set ws = Sheets.Add 第一次使用工作表add方法,新建一个默认名的工作表,并赋值给对象变量
ws.Name = "学习VBA"
ws.Range("a1") = 100,由于ws有赋值,ws表示的是刚才新建的工作表,所以上面的两句代码都是对刚刚新建工作表属性的一个操作赋值,三句代码只有第一句使用了一次add方法,所以三句代码执行完只有一个新工作表生成
而你理解的下面的代码,每一句都使用了一次add方法,而执行一次工作表的add方法就会新建一个工作表,所以下面代码三句执行下来会有三个新工作表生成,在代码里是不能像你那样理解等价带入的,融入了数学的理解
ws.Range("a1") = 100
Set ws = Sheets.Add
Sheets.Add.Name = "学习VBA"
Sheets.Add.Range("a1") = 100
主要要注意这个“=”,在数学里它是等号,左右两边等价,任何地方可以等价替换;在vb代码里它不再是数学上的意义了,它会是赋值号或者是判断比较符,不要混淆了,