excel vba中,":="是什么意思,与"="有什么区别?

 我来答
庆年工坊
2015-12-12 · 知道合伙人互联网行家
庆年工坊
知道合伙人互联网行家
采纳数:4232 获赞数:8923

向TA提问 私信TA
展开全部
两者都是赋值符,但赋值的对象不同而已。
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") 等等。
Excel开发
2011-04-06 · TA获得超过2910个赞
知道大有可为答主
回答量:1989
采纳率:53%
帮助的人:972万
展开全部
录制宏里面常会看到这种情况,":="中,":"是跟着前面的一个参数名的。
追问
如Worksheets.Add before:=Worksheets("sheet2"),before:才能运行,而before是不完整的确参数?
追答
before:这是告诉Excel,在sheet2这个表的前面插入一个工作表。
before:应该是默认参数,可以省略。

Worksheets.Add before:=Worksheets("sheet2")
和下面一句是完全一样的,这样写可读性强
Worksheets.Add Worksheets("sheet2")

如果要插到后面,可以加after:
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2011-04-06 · TA获得超过8612个赞
知道大有可为答主
回答量:3242
采纳率:66%
帮助的人:2758万
展开全部
:= 表示命名参数,例如,下面这个程序有3个参数:
Sub OptionalArgs(strState As String, Optional intRegion As Integer, _
Optional strCountry As String = "USA")
'……………………
End Sub

可以使用命名参数来调用上述程序,如下示例所示:
OptionalArgs strCountry:="USA", strState:="MD"

上面的调用省略了一个参数,而且调用参数时不是定义时的顺序。

如果不用命名参数,就必须用“,”逗号来区分参数的位置,并且顺序不能乱,如下面的调用:
OptionalArgs "MD", ,"CHINA"
-------------
: 其他情况的作用:将一行语句分割成多句
a=1 : b=2 :c=3
等同于:
a=1
b=2
c=3
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
寰宇天王许嵩
2018-05-03
知道答主
回答量:5
采纳率:0%
帮助的人:5148
引用庆年工坊的回答:
两者都是赋值符,但赋值的对象不同而已。
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条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式