Я новичок в VBA и хочу знать, могу ли я преобразовать следующее объявление и назначение в одну строку:
Dim clientToTest As String
clientToTest = clientsToTest(i)
или
Dim clientString As Variant
clientString = Split(clientToTest)
К сожалению, в 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
, который работает только с объектами.
на самом деле, вы можете, но не так.
Sub MySub( Optional Byval Counter as Long=1 , Optional Byval Events as Boolean= True)
'code...
End Sub
И вы можете установить переменные по-разному при вызове sub или оставить их по умолчанию.