vba 中的:= 是什么意思?

ws.Columns(colnum).Insert Shift:=xlToRight

:=和=在VBA里,是赋值符。

:= 是“方法”的内部子参数赋值时使用的。

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

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

扩展资料:

其他的赋值运算符

1、= 赋值运算符

变量=表达式如:a=3;将a的值赋为3

2、/= 除后赋值

变量/=表达式 如:a/=3;即a=a/3

3、*= 乘后赋值

变量*=表达式 如:a*=3;即a=a*3

4、%= 取余后赋值

变量%=表达式 如:a%=3;即a=a%3

5、+= 加后赋值

变量+=表达式 如:a+=3;即a=a+3

6、-= 减后赋值

变量-=表达式 如:a-=3;即a=a-3

参考资料来源:百度百科-赋值运算符

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-06
:=和=在VBA里,都是赋值符,但赋值的对象不同而已。

1. := 是“方法”的内部子参数赋值时使用的。

比如说Find(查找)方法,其语法如下:
expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

当我们想在Sheet1中查找“工时”两个字时,可以这样写:
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") 等等。

^_^本回答被提问者采纳
第2个回答  推荐于2017-09-21
:=和=在VBA里,都是赋值符,但赋值的对象不同而已。

1. := 是“方法”的内部子参数赋值时使用的。

比如说Find(查找)方法,其语法如下:
expression.Find(What, After, LookIn, LookAt, SearchOrder, SearchDirection, MatchCase, MatchByte, SearchFormat)

当想在Sheet1中查找“工时”两个字时,可以这样写:
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") 等等。

所以说:=和=在VBA里,都是赋值符,只是赋值的对象不同而已。
第3个回答  2020-01-17
对 对象进行赋值,
单纯的=是对变量进行赋值。
第4个回答  2013-04-29
Shift属性为xlToRight追问

ws.Columns(colnum).Insert.Shift:=xlToRight 这样写行么?

为什么shift前面没有.

追答

VBA就这样,没有.,空格后面是参数或属性