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
3 Réponses :
Les variables que vous testez sont vides, Votre code: p> Ce que vous vouliez probablement: p> Adim code> et A code> sont différents. Vous déclarez ADIM comme chaîne, mais cela n'a aucune valeur: Dim aDim As String: aDim = "a"
Merci beaucoup. J'ai eu une longue journée et n'a pas vu ça!
@Thelinkedone Ajouter Option Explicit code> 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 i>> options i>> nécessite une déclaration variable i>. 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é :)
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
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
A code> n'est pas déclaré est de devoir êtreadim code>Ajouter
option explicite code> en haut du module et signalera votre problème.