2010-05-02 7 views
2

Je suis en train d'activer/désactiver une combobox en fonction de la valeur ou de l'état d'un deuxième combobox dans Excel 2007.Excel VBA combobox désactiver problème

Je pense que mon code devrait ressembler à ceci:

Sub DropDown266_Change() 
    If DropDown266.Index = 2 Then 
     DropDown267.Enabled = False 
    End If 
End Sub 

Cependant, j'obtiens une erreur d'exécution '424' indiquant qu'un objet est requis. Je suis sûr que c'est un changement très simple, mais je n'arrive pas à le comprendre. Faites-moi savoir si vous avez besoin de plus de détails.

+0

Les deux zones de liste déroulante existent-elles sur votre formulaire? Dans quelle ligne recevez-vous l'erreur? –

+0

Je suppose que les deux zones de liste déroulante existent. Lorsque vous faites un clic droit sur les boîtes, leurs noms respectifs apparaissent dans la "Nom Box" dans Excel. J'ai essayé de leur donner leur propre nom, mais le même problème persiste. Existe-t-il un moyen facile de lister tous les objets sur une feuille de calcul/classeur, semblable au bouton "Atteindre" pour les cellules nommées et les objets? L'erreur VBA est sur la première ligne, en référence à DropDown266. – Chase

+0

oui la seule raison de cette erreur à la surface est l'indisponibilité de l'objet. Pouvez-vous vérifier le nom du combo que vous voulez désactiver. –

Répondre

1

La syntaxe permettant d'obtenir l'index est ComboBox1.ListIndex.

0

Essayez d'utiliser Me.DropDown266.Index

Aussi, vous pouvez utiliser IntelliSense pour vérifier si le Combobox existe: type Me.Dro et voir si DropDown266 apparaît dans la liste.