Excel VBA冒号

可能重复:
VB使用冒号将两条语句放在同一行上

我在Excel VBA中有以下声明

Public Const cdbArea = 1: Public Const cdbDist = 2: Public Const cdbChange1 = 4: Public Const cdbChange2 = 5: Public Const cdbTR = 5: Public Const crbArea = 1: Public Const crbDist = 2: Public Const crbTerr = 3: Public Const crbChange1 = 4: Public Const crbTR = 5: Public Const cdbWeek1 = 4 

乍看之下,冒号看起来像分隔符,但我以前从来没有使用过这种语法。

什么是冒号?

如果你喜欢,你可以把这些陈述放在不同的行上:

 Public Const cdbArea = 1 Public Const cdbDist = 2 Public Const cdbChange1 = 4 

或者,你可以像上面的例子那样用冒号分隔它们。

冒号的另一个用途是为调用语句设置特定的variables:

 Option Explicit Sub test() testWithOptions thirdParameter:="SecondParameterSkipped", firstParameter:="firstParam" End Sub Sub testWithOptions(firstParameter As String, Optional secondParameter As String, Optional thirdParameter As String) MsgBox "FirstParamter: " & firstParameter & vbCrLf & _ "ThirdParamter: " & thirdParameter End Sub 

注意,第三个参数在第一个和第二个参数(可选)被跳过之前被设置。

我只在职业生涯中见过这个

像BoltBait说的那样分开陈述是好的做法。 理由是如果两个不同的语句位于冒号分隔的同一行上,则不能input中断点。

较less的代码行不等于更快,或更好的代码^^