2017-07-27 4 views
1

J'ai un userform avec 1 combobox et 3 zones de texte. Je veux utiliser vlookup pour afficher les valeurs dans les texboxes en fonction de la sélection dans la liste déroulante. Le premier textbox fonctionne mais après cela il donne des erreurs. Pls aide. Voici mon code:Excel VBA Userform utilisant vlookup

Private Sub ComboBox1_Change() 
    Description = Application.VLookup(ComboBox1.Value, Range("A1:B17"), 2, 0) 
    TextBox1.Value = Description 
    Platform = Application.VLookup(ComboBox1.Value, Range("A1:B17"), 3, 0) 
    TextBox2.alue = Platform 
End Sub 
+2

cette partie 'Application.VLookup (ComboBox1.Value, Range ("A1: B17"), 3, 0)' retourne une erreur, puisque vous voulez revenir au 3ème colonne, lorsque vous avez défini la plage avec seulement 2 colonnes ('Range (" A1: B17 ")') –

+0

En outre, vous avez une erreur de frappe: 'TextBox2.alue = Platform' - vous avez manqué 'V' dans' Value'. –

+0

Veuillez effectuer quelques vérifications d'erreurs de base avant de poster une question ici. Votre problème se pose simplement parce que vous avez des fautes de frappe dans votre code. Voter pour fermer cette question comme de mauvaise qualité. – teylyn

Répondre

1

Comme mentionné dans les commentaires lorsque vous faites référence à 3. colonne, vous devez avoir au moins 3 colonnes dans votre gamme. Read more about VLookup here.

Essayez comme ceci:

Private Sub ComboBox1_Change() 

    Description = Application.VLookup(ComboBox1.value, Range("A1:C17"), 2, 0) 
    TextBox1.value = Description 
    Platform = Application.VLookup(ComboBox1.value, Range("A1:C17"), 3, 0) 
    TextBox2.value = Platform 

End Sub