Ich bin neu in VBA und möchte wissen, ob ich die folgende Deklaration und Zuordnung in eine Zeile konvertieren kann:
Dim clientToTest As String
clientToTest = clientsToTest(i)
oder
Dim clientString As Variant
clientString = Split(clientToTest)
vba
variable-declaration
Ian R. O'Brien
quelle
quelle
Sie können dies mit Objekten wie im Folgenden tun.
Aber nicht mit Strings oder Varianten.
quelle
:
. Es gibt einige Einschränkungen, da Sie nicht mehrere Wertdeklarationen in derselben Zeile (dhvar1 = val1: var2 = val2
) haben können. Es wird speradisch ausfallen und es Ihnen ermöglichen, diese Art von Zuweisung manchmal durchzuführen, aber insgesamt nicht durch diese Notation vorgeschlagen.Dim x As New T
Syntax, die nur mit Objekten funktioniert.dim str as String: str = "value"
unddim str as Worksheet: set str = ActiveWorkbook.worksheets("Sheet1")
beide arbeiten wiederholt. Wenn ich jedoch eine Objektinstanziierung mache,dim ws as New Worksheet: set ws = ActiveWorkbook.Worksheets("Sheet1")
würde dies wie bei jeder anderen ungültigen Operation in VBA fehlschlagen.New
Schlüsselwort nicht. Das ist alles, was ich sage.in der Tat können Sie, aber nicht so.
Und Sie können die Variablen beim Aufrufen des Subwoofers unterschiedlich festlegen oder auf ihre Standardwerte setzen.
quelle
In einigen Fällen kann die gesamte Notwendigkeit, eine Variable zu deklarieren, durch die Verwendung einer Anweisung vermieden werden
With
.Beispielsweise,
Dies kann umgeschrieben werden als
quelle