Déclaration de cas VBA - Exemples de déclaration de cas VBA Select

Table des matières

Déclaration de cas Excel VBA

La déclaration de cas VBA est l'une des fonctions logiques. Case Statement teste plusieurs tests logiques et arrive au résultat de deux manières, c'est-à-dire si le résultat ou le test logique est TRUE, un ensemble de résultats et si le résultat ou le test logique est FALSE, le deuxième ensemble de résultats.

Les tests logiques sont généralement effectués à l'aide de formules IF, que ce soit une formule de feuille de calcul ou en codage VBA; sur les deux plates-formes, cette fonction nous aide à effectuer de nombreux types de calculs complexes. Peu d'entre nous réalisent que nous avons une alternative à l'instruction IF dans VBA, à savoir «Case Statement». Cet article vous fournit des détails complets sur cette déclaration logique.

Syntaxe

Voici la syntaxe de l'instruction «Select Case».

Sélectionnez le cas «Valeur à tester» Le cas est un «test logique» Résultat si le cas 1 est VRAI Le cas est un «test logique» Résultat si le cas 2 est VRAI Le cas est un «test logique» Résultat si le cas 3 est VRAI Cas contraire Si aucune des les résultats sont TRUE Fin Select

C'est presque similaire à la syntaxe de l'instruction IF, mais au lieu d'utiliser ELSEIF, nous utilisons le cas 1, le cas 2, le cas 3, etc.

Exemples de déclaration de cas VBA

Exemple 1

Dans la cellule A1, j'ai entré le nombre 240.

Nous allons maintenant tester ce nombre s'il est supérieur ou non à 200 en utilisant l' instruction SELECT CASE .

Étape 1: Ouvrez l'instruction Select Case maintenant.

Code:

Sous Select_Case_Example1 () Select Case End Sub

Étape 2: Une fois le «cas de sélection» ouvert, nous devons fournir quelle est la valeur que nous testons. Dans ce cas, nous testons les valeurs de la cellule A1.

Code:

Sub Select_Case_Example1 () Select Case Range ("A1"). Valeur End Sub

Étape 3: Une fois que la valeur à tester est donnée maintenant, nous devons appliquer des tests logiques dans Excel en utilisant le mot « Case Is ».

Code:

Sub Select_Case_Example1 () Select Case Range ("A1"). Value Case Is> 200 End Sub

Étape 4: Maintenant, dans la ligne suivante, nous devons fournir la valeur «résultat» si le test logique appliqué est VRAI. Dans la boîte de message, nous avons besoin du résultat comme «Le nombre est> 200».

Code:

Sub Select_Case_Example1 () Select Case Range ("A1"). Value Case Is> 200 MsgBox "Number is> 200" End Sub

Étape 5: Dans cet exemple, nous n'avons besoin que de deux résultats, je n'utiliserai donc pas plus d'instructions «Case Is». Ensuite, j'utiliserai le mot «Case Else» pour fermer l'instruction VBA «Select Case».

Code:

Sub Select_Case_Example1 () Select Case Range ("A1"). Value Case Is> 200 MsgBox "Number is> 200" Case Else MsgBox "Number is <200" End Sub

Étape 6: Une fois que tous les cas sont fournis, nous devons fermer l'instruction de sélection de cas en utilisant le mot «Fin de sélection».

Code:

Sub Select_Case_Example1 () Select Case Range ("A1"). Value Case Is> 200 MsgBox "Number is> 200" Case Else MsgBox "Number is <200" End Select End Sub

Étape 7: Exécutez maintenant le code et voyez quel est le résultat que nous obtenons dans la boîte de message VBA.

Le résultat obtenu est «Le nombre est> 200» car dans la cellule A1, la valeur est 240, ce qui est> 200.

Exemple # 2

Nous allons maintenant voir quelques exemples pratiques en temps réel de scores de test. Regardez le code VBA ci-dessous.

Code:

Sub Select_Case_Example2 () Dim ScoreCard As Integer ScoreCard = Application.InputBox ("Le score doit être compris entre 0 et 100", "Quel est le score que vous voulez tester") Sélectionnez le cas ScoreCard Case Is> = 85 MsgBox Cas "Distinction" Is> = 60 MsgBox "First Class" Case Is> = 50 MsgBox "Second Class" Case Is> = 35 MsgBox "Pass" Case Sinon MsgBox "Fail" End Select End Sub

Laissez-moi vous expliquer le code ligne par ligne pour mieux comprendre.

Tout d'abord, j'ai déclaré la variable comme Integer, et pour cette variable, j'ai attribué la InputBox dans VBA, où un utilisateur doit entrer le score entre 0 et 100.

Lorsque vous exécutez le code, vous verrez la zone de saisie comme ci-dessous, et dans cette zone de saisie, vous devez entrer le score.

Maintenant, tout ce que nous saisissons dans la zone de saisie sera stocké dans la variable «ScoreCard».

In the next line, I have applied a select case statement to test this score.

First, it will test the ScoreCard>=85 or not. If this is TRUE, then we will get the value in the message box as “Distinction.”

Select Case ScoreCard Case Is>= 85 MsgBox "Distinction"

Similarly, in the following lines, I have applied the second test as ScoreCard>=60. If this is TRUE, then it will show the result as “First.”

Case Is>= 60 MsgBox "First Class"

Like this, I have applied other tests as well, and in the end, I have used the “Case Else” statement. If all the applied logical tests are FALSE, then we will get the result as “Fail.”

Case Else MsgBox "Fail"

Now I have supplied 68 as the score, and we should get the result as “First Class” in the message box.

Example #3 - Using the “To” keyword

In the above example, we have used student scores to arrive at the result. The same test can be conducted by using the “To” word to determine the lower limit and upper limit of the logical test.

Code:

Sub Select_Case_Example3() Dim ScoreCard As Integer ScoreCard = Application.InputBox("Score should be b/w 0 to 100", "What is the score you want to test") Select Case ScoreCard Case 85 To 100 MsgBox "Distinction" Case 60 To 84 MsgBox "First Class" Case 50 To 59 MsgBox "Second Class" Case 35 To 49 MsgBox "Pass" Case Else MsgBox "Fail" End Select End Sub

I have used the same code as above, but the only yellow-colored area I have changed here. Based on the number we type in the input box accordingly, we will get the result.

Things to Remember

  • Select Case est une alternative à l'instruction IF.
  • Select Case est disponible uniquement avec VBA.
  • Dans la première ligne de «Select Case», nous devons uniquement fournir la valeur qui doit être testée. Ensuite, dans la ligne «Cas», nous devons appliquer le test logique. Ceci est différent de notre condition IF.

Articles intéressants...