0
votes

Utilisez des variables comme cas dans Select Case

Je dois comparer une variable à d'autres variables.

Voici un petit test que j'ai fait, que devrait forte> de sortie; "C'est un C" P>

Dim aDim As String: a = "a"
Dim bDim As String: b = "b"
Dim cDim As String: c = "c"
Dim test As String: test = "c"

Select Case test
    Case aDim
        MsgBox "It's an a"
    Case bDim
        MsgBox "It's a b"
    Case cDim
        MsgBox "It's a c"
    Case Else
        MsgBox "Something went wrong"
End Select


2 commentaires

A n'est pas déclaré est de devoir être adim


Ajouter option explicite en haut du module et signalera votre problème.


3 Réponses :


4
votes

Les variables que vous testez sont vides, Adim code> et A code> sont différents. Vous déclarez ADIM comme chaîne, mais cela n'a aucune valeur:

Votre code: p> xxx pré>

Ce que vous vouliez probablement: p>

Dim aDim As String: aDim = "a"


3 commentaires

Merci beaucoup. J'ai eu une longue journée et n'a pas vu ça!


@Thelinkedone Ajouter Option Explicit en haut du module. Une des meilleures choses que vous puissiez faire ici. Ou pour l'ajouter automatiquement à l'avenir, dans l'éditeur VB, Outils > options > nécessite une déclaration variable . Il signalera les variables non déclarées.


Aucun problème, n'arrive pas au meilleur de nous;) Comme Bigben mentionné, il convient d'ajouter une option explicite en haut du module! S'il vous plaît rappelez-vous de le marquer comme une réponse correcte si j'ai aidé :)



2
votes

Au premier abord,

Dim a As String: a = "a"
Dim b As String: b = "b"
Dim c As String: c = "c"
Dim test As String: test = "c"

Select Case test
    Case a
        MsgBox "It's an a"
    Case b
        MsgBox "It's a b"
    Case c
        MsgBox "It's a c"
    Case Else
        MsgBox "Something went wrong"
End Select


0 commentaires

1
votes

Votre code doit être

Dim aDim As String: aDim = "a"
Dim bDim As String: bDim = "b"
Dim cDim As String: cDim = "c"
Dim test As String: test = "c"

Select Case test
    Case aDim
        MsgBox "It's an a"
    Case bDim
        MsgBox "It's a b"
    Case cDim
        MsgBox "It's a c"
    Case Else
        MsgBox "Something went wrong"
End Select


0 commentaires