:=在VBA中的工作方式如下:= linux或= C?

时间:2014-01-24 07:12:56

标签: excel excel-vba vba

我正在研究vba并遇到:=
它实际上做了什么?

示例示例:
msg:=Var1 & ": " & Chr(34)

基本上我关心的是它是否像在Linux中一样,你可以使用像 LIBPATH:= many library path还是就像C语言一样,它只是用来为变量赋值?

3 个答案:

答案 0 :(得分:2)

这是一个命名参数。

命名参数由参数名称后跟冒号和等号(:=)组成,后跟参数值。 See HERE

答案 1 :(得分:2)

将值赋给:=时,会使用

Arguments 它可以是Arguments Object MethodProcedure

<强>例1:

myFilename = Application.GetOpenFilename(filefilter:="Excel Files (*.xlsx), *.xlsx")

在上面的代码中,您使用:=filefilter argument方法中为GetOpenFilename分配值。

<强>例2:

假设你有Procedure

Private Sub MyProcedure(MyValue as String)
'~~> code here
End Sub

然后你有Main Sub

Sub Main()

mystring = "Hello"
'~~> assign value to MyProcedure argument
MyProcedure MyValue:=mystring

End Sub

尽管如此,您在分配:=时确实不需要使用Procedure Argument 以下也有效:

MyProcedure mystring

希望这有帮助。

答案 2 :(得分:1)

在某些语言中,:=称为赋值语句。 ":="右侧的内容存储在左侧的变量中,例如sum:=5+2

但是vba它用于"named arguments"