Поле со списком Excel 2007 - лента разработчика и модуль VBA - PullRequest
1 голос
/ 21 декабря 2009

Может ли кто-нибудь объяснить мне разницу между списком, доступным через ленту разработчика в Excel 2007, и элементом управления списком, который находится в редакторе VBA? Я не могу заставить эту простую строку кода работать с помощью поля со списком разработчика:

MsgBox Combo1.Value

Я привязал его к событию изменения, и он кажется синтаксически правильным (я не являюсь VBA-программистом).

Является ли версия ленты разработчика каким-то подлым дерьмовым ярлыком Microsoft?

Я пытаюсь заполнить второе поле со списком, основываясь на выборе первого поля со списком. Я бы предпочел не строить заявление случая для каждого возможного выбора. Возможно ли это с помощью версии ленты разработчика?

1 Ответ

3 голосов
/ 21 декабря 2009

Вы говорите о кнопке Вставить на вкладке Разработчик правильно? С этой кнопки вы можете добавить элемент управления ActiveX или элемент управления формы. Вам лучше использовать элементы управления формой, если вы новичок в программировании, поскольку они будут вести себя в большей степени в соответствии с любым чтением Excel VBA, которое вы сделали, и файлом справки. С помощью элементов управления формы вы можете щелкнуть правой кнопкой мыши и выбрать «Просмотреть код» и / или «Переименовать элемент управления и код». Переименование элемента управления позволяет вам обращаться к нему в VBA по своему усмотрению. например - Combo1.value или myFavoriteCombo.value

При этом, чтобы ответить на ваш вопрос напрямую, убедитесь, что вы знаете полное имя элемента управления. Если вы использовали элемент управления формы, и он был первым, который вы поместили на лист, он будет называться Combo Box 1. Чтобы получить доступ к свойствам поля со списком, вы должны пройти его «родительский» лист.

т.е.
MsgBox Sheet1.ComboBox1.value (с использованием кодового имени листа)
или
MsgBox Worksheets ("SheetName"). ComboBox1.value (с использованием имени листов, которое отображается на вкладке Excel)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...