Страницы: 1
RSS
Как сделать выпадающий список Checkbox'ов
 
Добрый день знающим людям!

Возникла задача заполнения определенной ячейки цифрами, каждая из которых соответствует номеру какой-то задачи в списке:
1. Коррекция зрения
2. Стабилизация дыхания
и т. д.

Я подумал, что самый простой (для пользования) вариант - это всплывающее окно с флажками.
Поставил галочки на 1 и 4 Checkbox'е и в ячейке появилось 1,4. Можно ли это реализовать?

Если да, то задача усложняется. Потому что, заполнять надо не одну, а много ячеек. Эти ячейки описывают задачи разных людей, при этом у каждого свой список задач.

То есть, если ячейка соответствует Иванову, то во всплывающем окне одни Checkbox'ы, а если Петрову - другие. При этом я заранее не знаю кому эта ячейка будет соответствовать.

Выполнимо ли это?

Во вложенном файле: лист 1 - исходные данные, лист 2 - результирующая таблица
Изменено: vadi61 - 28.02.2017 11:55:53
 
Можно использовать ListBox с мультивыбором и соответствующим стилем.
 
Юрий М, спасибо! Но подскажите:

1. Не получается добавить список из ячеек расположенных в одной строке ('1'!$B$3:$F$3). Только если передаю ячейки из столбца ('1'!$B$3:$B$5) - все нормально...
2. В связанную ячейку передается 0, какой бы элемент я не выбрал. Если убираю мультивыбор - все нормально, но мне так не подходит.
 
1. Если нельзя использовать столбец (кто-то запретил?), то ListBox можно заполнить программно.
2. Не видно мне отсюда, почему ноль. В "Приемах", среди статей про выпадающие списки, есть нужный Вам вариант (вариант 3).
 
Юрий М, спасибо! Похоже вариант 3 - мой. Сейчас буду пробовать.
Цитата
Юрий М написал:
Если нельзя использовать столбец (кто-то запретил?)
Никто не запрещал :). Нужно использовать строку. Я пишу '1'!$B$3:$F$3, а отображается в списке только содержимое ячейки B3 (C3, D3, E3 и F3 не отображаются)
Изменено: vadi61 - 28.02.2017 13:00:00
 
Раз никто не запрещал - найдите свободный столбец - сейчас их в свежих версиях предостаточно. Зачем сами себе создаёте проблемы? ))
См. вариант с исходными данными в строке и ЛистБоксом.
ЛистБокс можно (нужно) прятать, если активирована ячейка не в нужном столбце, и показывать, когда выбрали нужную. И позиционировать рядом с активной ячейкой. Подобные темы обсуждались.
 
Спасибо!!!
 
Юрий М, я дико извиняюсь, но есть еще вопрос. Я пробую и Ваш пример и пример Варианта 3 из Вашей ссылки.

В Вашем примере добавляется номер элемента списка, тут все нормально, но у меня возникают другие проблемы...
А в Варианте 3 добавляется значение из списка. Как мне здесь добавить номер? По аналогии с Вашим примером я должен создать цикл и пройтись по перечню элементов списка, найти его номер и вписать в ячейку. Но как обратиться к списку элементов, у списка же нет имени. Что надо вписать вместо слова ЧТО? Или надо совсем по-другому?

Код
Dim X As String ...For i = 0 To ЧТО.Count - 1   If .Selected(i) Then X = str (i)   End IfNext

И к диапазону, из которого заполняются элементы списка я обратиться не умею.
В строке Источник в окне Проверка данных (в оригинальном файле, не в моем примере) я пишу =ИНДЕКС(ДИАП_1;ПОИСКПОЗ(G4;ДИАП_2;0);0), а потом растягиваю эту ячейку на 150 ячеек вниз. Таким образом это G4 в каждой следующей ячейке превращается в G5, G6 и т. д. Как это сделать в макросе я, к сожалению, не знаю.

Изменено: vadi61 - 28.02.2017 14:44:38
 
У меня была применена конструкция With - End with. Применительно к КомбоБоксу. Т.е. номера строк массива, которым заполнен КомбоБокс.
Кто мешает Вам дать имя списку (диапазону)? Не хотите имя - указывайте конкретный диапазон и перебирайте его ячейки. Только отсчёт уже будет не с нуля.
И определитесь уже, по какому варианту собираетесь работать )
 
Юрий М, я пока остановился на Варианте 3. Но я не могу дать имя списку он же в каждой ячейке разный.

Посмотрите пожалуйста вложенный файл - это оригинальный файл - я просто удалил все не имеющее отношения к вопросу.
Лист Verlauf колонка B - это имена, a колонка D - это списки. Макрос добавляет элементы списков, а мне нужны их порядковые номера
(элементы списков перечислены на листе Stammdaten (Диапазон KundenZiele). Они разные для каждого клиента)

Подскажите, как мне исправить макрос.
 
В Вашем примере выбранные значения не дополняют данные в ячейке - так и задумано?
 
И ещё одна "непонятка": выпадающие списки в столбце D, а в макросе контролируете только две ячейки - J4 и J5. Это как понимать?
Посмотрите вариант - так хотели?
 
Юрий М, да! Огромное спасибо
Цитата
Юрий М написал:
И ещё одна "непонятка": выпадающие списки в столбце D, а в макросе контролируете только две ячейки - J4 и J5

Да, Вы правы. У меня изначально рабочей была колонка J. Для пробы я взял только две ячейки J4 и J5. И все добавлялось. А потом я начал удалять не имеющие отношения к теме столбцы... А в макросе не подправил.

Еще раз, СПАСИБО!
Изменено: vadi61 - 28.02.2017 22:04:44
Страницы: 1
Наверх