Je suis nouveau sur VBA et je veux savoir si je peux convertir la déclaration et l'affectation suivantes en une seule ligne:
Dim clientToTest As String
clientToTest = clientsToTest(i)
ou
Dim clientString As Variant
clientString = Split(clientToTest)
vba
variable-declaration
Ian R. O'Brien
la source
la source
Vous pouvez faire cela avec des objets, comme dans l'exemple suivant.
Mais pas avec des chaînes ou des variantes.
la source
:
. Il y a quelques limitations car vous ne pouvez pas avoir plusieurs déclarations de valeur sur la même ligne (ievar1 = val1: var2 = val2
). Il se déréglera spéradiquement et vous permettra de faire ce type d'affectation parfois mais dans son ensemble non suggéré par cette notation.Dim x As New T
syntaxe, qui ne fonctionne qu'avec des objets.dim str as String: str = "value"
et lesdim str as Worksheet: set str = ActiveWorkbook.worksheets("Sheet1")
deux fonctionnent à plusieurs reprises. Bien que, si je fais une instanciation d'objetdim ws as New Worksheet: set ws = ActiveWorkbook.Worksheets("Sheet1")
, l'erreur serait comme toute autre opération non valide dans VBA.New
mot-clé ne le fait pas. C'est tout ce que je dis.en fait, vous pouvez, mais pas de cette façon.
Et vous pouvez définir les variables différemment lors de l'appel du sous-marin, ou les laisser à leurs valeurs par défaut.
la source
Dans certains cas, le besoin de déclarer une variable peut être évité en utilisant
With
statement .Par exemple,
cela peut être réécrit comme
la source
Vous pouvez définir et attribuer une valeur comme indiqué ci-dessous sur une seule ligne. J'ai donné un exemple de deux variables déclarées et affectées en une seule ligne. si le type de données de plusieurs variables est le même
la source