Fonction de Match? VBA ne fonctionne pas correctement
J'ai un code suivant et j'ai "nom" dans les cellules B11 , B19 et B25, et je m'attendais à un résultat de 19 ou 25 avec le code, mais il retourne Y=1. Quelqu'un pourrait-il me dire quel est le problème?.
Sub mat()
Y = Application.Match("name", ActiveSheet.Range("B19:B30"), 0)
MsgBox Y
End Sub
Vous devez vous connecter pour publier un commentaire.
Selon la documentation pour le MATCH:
et avec
0
que le troisième argument optionnel (match_type
):Donc le retour de l'
1
se réfère à la position surB19
dans le tableauRange("B19:B30")
et le code de l'échantillon est en effet de se comporter comme prévu.De la fonction equiv recherche d'un élément spécifié dans une plage de cellules, puis renvoie le position relative de cet élément dans la gamme
Donc de l'analyse du paramètre
ActiveSheet.Range("B19:B30")
signifie queB19
est égal à position relative=1
.ajouter slgn
ex2: