2009-11-12 78 views
5

可能重複:
VB Using colons to put two statements on same lineExcel的VBA結腸

我有以下聲明在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 

乍一看,冒號看起來像分離,但我從來沒有使用過這種語法。

冒號是什麼?

回答

8

你可以把報表上單獨的行,如果你喜歡:

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

或者,你可以用冒號在你上面的例子它們分開。

2

像BoltBait說的那樣分開陳述是很好的做法。理由是如果兩個不同的語句位於冒號分隔的相同行中,則不能在兩個不同的語句之間輸入斷點。

較少的代碼行不等於更快,或更好的代碼^^

3

結腸的另一個用途是特定變量設置爲調用語句:

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 

注意第三個參數設置在第一個和第二個參數(這是可選的)之前被一起跳過。

我只在我的職業生涯中見過這種用法。