我一直在使用Excel,但我从未了解这两个运算符“(无论我是否都使用过)”在Excel VBA中的区别。
:=
和 =
。
我一直在使用Excel,但我从未了解这两个运算符“(无论我是否都使用过)”在Excel VBA中的区别。
:=
和 =
。
正如你已经知道的那样,=
用于分配值或设置对象,例如i=1
另一方面,:=
(就像Comintern提到的那样)用于给某个命名参数赋值,在我的理解中,只在方法或函数内使用。
考虑以下示例:您可以使用类似MsgBox“Hello World”,,“Title1”
的东西 - 在默认顺序下指定MsgBox
的参数 - prompt
、默认的Buttons
-style,然后是Title
。
或者,您可以使用:=
编写MsgBox Title:="Title1", prompt:="Hello world"
注意:
这里参数的顺序不重要
没有必要为默认参数指定空占位符, ,
Range.Find
方法为例。 Range("A1:A500")
中简单搜索数字 2
::=
运算符,您必须使用逗号来获取任何可选变量进行设置:Range("A1:A500").Find(2, , xlValue, , , , , , )
通过使用:=
操作符,您可以指定要使用的条件而不需要逐个遍历所有默认设置:
Range("A1:A500").Find(what:=2, lookin:=xlValues)
Range.Find
的唯一必需参数是 What
;并不是说你需要指定所有参数 - 你需要指定所有参数你没有提供值的。 - Mathieu GuindonRange("A1:A500").Find 2,, xlValues
。哪一个看起来更整洁是一个主观问题。如果目标是减少按键次数,甚至这个也能够实现相同的功能:[A1:A500].Find 2,,-4163
。此外,如果函数不返回值,括号是可选的(例如 MsgBox "Hi"
),如果所有其它参数都是空白和/或默认值,则无需包含逗号(即 …xlValue, , , , , ,
= …xlValue
)。 - ashleedawg
call function (argument:=value)
say all arguments are optional, and there are 10, you want to pass the 5th by name, then variable setting such as andlet variable=x
- Nathan_Sav