excel vba中,":="是什么意思,与"="有什么区别?
4个回答
展开全部
两者都是赋值符,但赋值的对象不同而已。
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. := 是“方法”的内部子参数赋值时使用的。
比如说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") 等等。
展开全部
录制宏里面常会看到这种情况,":="中,":"是跟着前面的一个参数名的。
追问
如Worksheets.Add before:=Worksheets("sheet2"),before:才能运行,而before是不完整的确参数?
追答
before:这是告诉Excel,在sheet2这个表的前面插入一个工作表。
before:应该是默认参数,可以省略。
Worksheets.Add before:=Worksheets("sheet2")
和下面一句是完全一样的,这样写可读性强
Worksheets.Add Worksheets("sheet2")
如果要插到后面,可以加after:
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
:= 表示命名参数,例如,下面这个程序有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
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
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
引用庆年工坊的回答:
两者都是赋值符,但赋值的对象不同而已。
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. := 是“方法”的内部子参数赋值时使用的。
比如说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") 等等。
展开全部
看了描述怎么感觉是 := 是右值赋值,=是给左值赋值的意思?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询