2 votes

Pouvez-vous énumérer les valeurs possibles d'une déclaration conditionnelle en Excel VBA ?

Je suis nouveau, alors désolé si c'est une question stupide. Je veux avoir une instruction If indiquant que si la variable a est un élément d'un ensemble de certains nombres entiers, alors... Est-ce que ça marcherait si j'écrivais :

Si a=1,6,12,19 alors

ou devrais-je écrire

Si a=1 ou a=6 ou a=12 ou a=19 alors

5voto

Richard Schwartz Points 6319

Non, vous ne pouvez pas l'écrire comme if a=1,6,12,19 Then mais il y a des alternatives que vous pouvez utiliser et elles sont couvertes dans la section réponses à cette question précédente . C'est celui que je recommande dans la plupart des cas.

select case userID
    case 1,2,3,4,5,6
       ' do something
end select

1voto

El InStr peut le traiter comme une sous-chaîne délimitée dans une chaîne contenant des options délimitées.

if cbool(instr(1, "x1x2x3x4x5x6x", format(a, "x0x"))) then
    'a is a number between 1 and 6
    debug.Print a & " is in 1,2,3,4,5,6"
end if

0voto

user3598756 Points 25572

Vous pouvez utiliser Application.Match() méthode

if Not IsError(Application.Match(a,array(1,6,12,19),0) Then
    your code
End If

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X