La fonction de commutation de VBA évalue les expressions et retourne des valeurs que vous associez à ces expressions. Ce comportement permet à vos programmes VBA pour prendre des décisions , sous la forme de «si-alors " et des déclarations similaires . Par exemple, vous pouvez utiliser l 'interrupteur pour retourner des valeurs basées sur des expressions relatives à l'âge , telles que les noms des personnes qui répondent à un certain âge . Vous pouvez ensuite utiliser le «si - alors» à l'exécution du programme de l'itinéraire de code approprié à cette personne. Premier argument
Le premier argument de la fonction Switch est une expression que vous voulez VBA à évaluer. L'expression peut évaluer tout type de variable dans VBA , y compris entiers, des chaînes et d'autres types . Interrupteur va tester l'expression. Si elle se traduit par " vrai " Switch retourne la valeur que vous avez accédé à cette expression. Spécifiez cette valeur comme argument suivant immédiatement l'argument contenant l'expression . Par exemple, vous pouvez tester l'expression « âge = 40", et vous avez VBA retourner la valeur "Clark " si l'âge est égal à 40. Pour ce faire , écrivez une instruction switch comme " Switch ( âge = 40, " Clark " ) "
second argument
Chaque second argument dans l'instruction switch se réfère à la valeur que vous voulez commutateur de revenir si l'argument qui précède immédiatement la valeur true. En d'autres termes , si « Lois » est la valeur que vous voulez commutateur de revenir si l'expression « âge = 35" est vrai, alors écrire une instruction switch comme ceci: " Switch ( âge = 35, " Lois ")". Notez que vous n'avez pas à utiliser des chaînes pour cet argument de valeur. Documentation VBA indique le type d'argument est «variante », ce qui signifie que vous pouvez faire retournent des entiers de commutation , doubles ou d'autres types de valeurs.
Valeur de retour
la valeur de retour du commutateur prend une des options suivantes : une valeur à partir de l'un des arguments que vous avez spécifiés , ou «nul » si aucune des expressions que vous dites commutateur d'évaluer les résultats d'une valeur "true ". Par exemple, si la variable «âge» dans la déclaration suivante est de 40 ou 35 , Switch retourne soit « Clark » ou « Lois ». Si «l'âge» n'est ni 40 , ni 35 , Switch retourne Null .
Switch ( âge = 40, "Clark " , age = 35, "Lois " )
Exemple de programme
Vous pouvez comprendre l' instruction Switch plus facilement en exécutant un programme court avec cette déclaration. Le programme suivant utilise commutateur avec deux paires d'expressions à évaluer et les valeurs de retour. Notez que la variable "v" n'a pas de type spécifique dans sa déclaration. La raison pour cela est d' insister sur le fait que les arguments de commutation et valeurs de retour peuvent prendre n'importe quel type .
Age sub ()
Dim v
âge As Integer
âge de
= 40
v = commutateur ( âge = 40, "Clark " , age = 35, "Lois " )
Debug.Print v
End Sub