Как назначить задачу отдельному элементу списка в Excel? - PullRequest
0 голосов
/ 31 марта 2011

Я добавил список из формы, которая появляется в строке меню> Вид> Панель инструментов> Формы

Я хочу назначить какое-то задание на выбор отдельного элемента в списке, но когда я назначаю ему какой-либо макрос, он применяется ко всему списку.

Скажем, у меня есть список, содержащий 3 цвета - красный, зеленый, синий, и я хочу, чтобы мой лист был окрашен в зависимости от индивидуального выбора. Если я выберу красный, лист должен отражать красный цвет.

1 Ответ

0 голосов
/ 01 апреля 2011

Вы не можете многое сделать с элементами управления, находящимися в окне «Формы», если не привязываете их к ячейкам на листе.

Для окна FORMS.Listbox вам нужно будет щелкнуть правой кнопкой мыши и выбрать «Управление форматом ... ", затем

  • укажите многострочный диапазон, содержащий элементы выбора (Диапазон ввода)
  • , укажите диапазон из одной ячейки, содержащий выбранный элемент (ссылка на ячейку))

Затем вы должны снова щелкнуть правой кнопкой мыши и

  • «Назначить макрос ...», который оценивает значение ссылки на ячейку и действует соответствующим образом (Sub ListBox1_Change())

Обратите внимание, что ссылка Ячейка отображает индекс выбранной опции, а не значение

Пример:

A1 contains "Red"
A2 contains "Green"
A3 contains "Blue"

Forms / Listbox1 / Input Range = $A$1..$A$3
Forms / Listbox1 / Linked Cell = $B$1

Sub ListBox1_Change()
    Select Case [B1]
    Case 1:
        MsgBox "Gimme RED"
    Case 2:
        MsgBox "Gimme GREEN"
    Case 3:
        MsgBox "Gimme BLUE"
    Case Else:
        MsgBox "unknown case"
    End Select
End Sub

Надеюсь, чтопомогает

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