vba中 := 和 = 有什么区别吗?

如题所述

两者都是赋值符,但赋值的对象不同而已。
1. := 是“方法”的内部子参数赋值时使用的。

比如说Find(查找)方法,其语法如下:

1.expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

当我们想在Sheet1中查找“工时”两个字时,可以这样写:
1.Sheet1.Find(What:="工时", LookIn:=xlValues, LookAt:=xlWhole)

这里,Find就是“方法”,相当于主要过程,而括号内的What、After、LookIn、LookAt、MatchCase之类的,就是这个方法的子(内部)参数,当给这些内部参数赋值时,就要用到:=。
当然,上面的语句,如果你按参数的顺序写,然后不赋值的参数用逗号预留占位的话,这些子参数的名称也是可以省略的,也就可以省略:=这个赋值符。

2. =是给变量、对象赋值时使用的。

如 i = 55、Range("A1").Value="Good Morning"、Set Rng = Range("A1")、Set dic = CreateObject("Scripting.Dictionary") 等等。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2007-11-19
:= 可以用于对方法参数的赋值
比如你定义了一个方法m(elem1 as ..., elem2 as ...)
在调用这个方法的时候
m elem11,elem21
可以写成
m elem1:=elem11,elem2:=elem21
这样说好像看不出来区别
这样比较看看
m2(elem1 as ...,elem2 as ...,elem3 as ...,elem4 as ...,elem5 as ...,elem6 as ...,elem7 as ...)
调用时
m ,,,,,elem61,

m elem6:=elem61本回答被提问者采纳
第2个回答  2007-11-19
:=
对对象的赋值
xxx:=1
等价于
Set xxx = 1

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网