Answers:
不幸的是,VBA中没有简写形式。:
如果您希望在一行上使用连续字符,则最接近的是使用连续字符的纯视觉对象;
Dim clientToTest As String: clientToTest = clientsToTest(i)
Dim clientString As Variant: clientString = Split(clientToTest)
提示(其他答案/评论的摘要):也适用于对象(Excel 2010):
Dim ws As Worksheet: Set ws = ActiveWorkbook.Worksheets("Sheet1")
Dim ws2 As New Worksheet: ws2.Name = "test"
您可以对对象进行排序,如下所示。
Dim w As New Widget
但不能使用字符串或变体。
:
。有一些限制,因为您不能在同一行(即var1 = val1: var2 = val2
)上有多个值声明。它会偶尔出现错误,并允许您有时进行这种类型的分配,但总体而言,此表示法并不建议这样做。
Dim x As New T
语法,仅适用于对象。
dim str as String: str = "value"
和dim str as Worksheet: set str = ActiveWorkbook.worksheets("Sheet1")
都反复工作。虽然,如果我这样做,对象实例化dim ws as New Worksheet: set ws = ActiveWorkbook.Worksheets("Sheet1")
将像VBA中的任何其他无效操作一样出错。
New
关键字没有。我就是这么说
实际上,您可以,但不是那样。
Sub MySub( Optional Byval Counter as Long=1 , Optional Byval Events as Boolean= True)
'code...
End Sub
而且,您可以在调用子程序时对变量进行不同的设置,或将其设置为默认值。
您可以如下一行所示定义和分配值。我给出了两个声明并在单行中分配的变量的示例。如果多个变量的数据类型相同
Dim recordStart, recordEnd As Integer: recordStart = 935: recordEnd = 946