Jestem nowy w VBA i chcę wiedzieć, czy mogę zamienić następującą deklarację i przypisanie w jedną linię:
Dim clientToTest As String
clientToTest = clientsToTest(i)
lub
Dim clientString As Variant
clientString = Split(clientToTest)
vba
variable-declaration
Ian R. O'Brien
źródło
źródło
Możesz to zrobić z obiektami, jak poniżej.
Ale nie w przypadku łańcuchów lub wariantów.
źródło
:
. Istnieją pewne ograniczenia, ponieważ nie można mieć wielu deklaracji wartości w tym samym wierszu (tjvar1 = val1: var2 = val2
.). Speradycznie będzie to błąd i pozwoli ci wykonać tego typu zadania czasami, ale jako całość nie jest sugerowana przez ten zapis.Dim x As New T
składnia, która działa tylko z obiektami.dim str as String: str = "value"
idim str as Worksheet: set str = ActiveWorkbook.worksheets("Sheet1")
oba działają wielokrotnie. Chociaż, jeśli wykonam wystąpienie Object,dim ws as New Worksheet: set ws = ActiveWorkbook.Worksheets("Sheet1")
wystąpi błąd, jak każda inna niepoprawna operacja w VBA.New
kluczowe nie. To wszystko, co mówię.w rzeczywistości możesz, ale nie w ten sposób.
I możesz ustawić zmienne inaczej podczas wywoływania sub lub pozwolić im na ich domyślne wartości.
źródło
W niektórych przypadkach można uniknąć całej potrzeby deklarowania zmiennej za pomocą
With
instrukcji .Na przykład,
można to przepisać jako
źródło
Możesz zdefiniować i przypisać wartość, jak pokazano poniżej, w jednej linii. Podałem przykład dwóch zmiennych zadeklarowanych i przypisanych w jednym wierszu. jeśli typ danych wielu zmiennych jest taki sam
źródło