Ajouter par zone de liste déroulante en VBA (Excel)
Je suis en train de créer, de place et de remplir les éléments d'une zone de liste déroulante dans VBA. Je ne comprends pas ce que je suis absent, mais je ne peux pas comprendre comment le faire. Je ne pas ont MSForms
dans mon API (c'est à dire je ne peux pas écrire Dim someComboBox As MSForms.ComboBox
comme il échoue. Est-il possible d'importer une certaine façon? Quelqu'un peut me pointer dans la bonne direction?
Ce que je veux réaliser est que lorsque l'utilisateur clique sur un bouton d'un formulaire est créé avec des objets divers (zones de liste modifiables, RadioButtons, etc.) et donc je veux le faire par programmation.
OriginalL'auteur Krøllebølle | 2013-07-16
Vous devez vous connecter pour publier un commentaire.
Vous pouvez compter sur le code suivant:
Vous êtes les bienvenus (cette fois trop).
Si je charge ce contrôle sur
Workbook_Open
, alors comment puis-je le supprimer lorsque le classeur se referme? J'ai trouvé qu'il créé un contrôle évidemment, à chaque fois que le classeur s'ouvre sur le dessus de l'existant de contrôle. Ce qui peut être un problème, après il y a 500 contrôles sur le dessus de l'autre...Quelques idées de base que vous ne semblez pas avoir trop clair. S'il vous plaît, ne pas avoir offensé: 1. Ce/I/ne suis pas un cabinet de conseil pour vous d'obtenir une réponse personnalisée pour tout problème que vous pourriez avoir (j'ai payé pour cela). Ce n'était pas le cas il y a 2 ans quand j'ai écrit cette réponse et ce n'est certainement pas le cas aujourd'hui. L'idée principale ici, dans l'affirmative, est de fournir de l'aide pour l'OP de la question, idéalement comme la façon la plus neutre possible. En fait, cette réponse de la mine pourrait être considéré comme trop spécifique pour ce qui a été demandé et ce qui est le comportement attendu de la answerers ici...
2. Ce que vous demandez n'a absolument rien à voir avec ma réponse/code ou la question d'origine. En fait (encore une fois sans essayer de vous offenser), il n'a même pas sembler trop sensible à la question, en général, pour VBA ou pour toute autre langue. Permettez-moi de reformuler pour vous aider à mieux comprendre mon point de: "pourquoi dois-je avoir 500 de choses de ce que quand ce que je fais, c'est de la création et de ne pas les supprimer par la suite?". La réponse semble claire, n'est-ce pas? Qu'en essayant l'une des procédures suivantes: la suppression de la suite (par exemple, dans le livre événement de clôture?) ou en s'appuyant sur une plus intelligente...
OriginalL'auteur varocarbas
Vous avez besoin d'une référence à Microsoft Forms 2.0 Object Library. Un moyen facile de le faire est de simplement insérer un objet UserForm dans votre projet.
Sinon, trouver cette référence dans le dialogue Outils/Références.
Vous pouvez créer par programmation un objet UserForm, une zone de liste déroulante, etc., mais il serait plus simple d'insérer un objet UserForm et le laisser caché jusqu'à ce que nécessaire. Vous pouvez ajouter par de nouveaux contrôles encore, si nécessaire.
Ajouté Les Formes de l'Objet de la Bibliothèque ne sera pas vous permettre de créer des formes entièrement nouvelles et des contrôles. Vous avez besoin de la Microsoft Visual Basic pour Applications de la bibliothèque. Ce lien est ancien, mais toujours d'actualité.
OriginalL'auteur Andy G