Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.66/296: Рейтинг темы: голосов - 296, средняя оценка - 4.66
161 / 17 / 2
Регистрация: 14.07.2011
Сообщений: 74

Добавление выпадающего списка к ячейке

31.08.2012, 10:25. Показов 59955. Ответов 33
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем, привет!
Ситуация: программно создается несколько книг. Необходимо что бы в ячйках A1, A2,A3 созданных книг появлялся выпадающий список известных значений(значения текстовые).

Помогите с реализацией!
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.08.2012, 10:25
Ответы с готовыми решениями:

Скопировать строку Excel, за текущей строкой если из выпадающего списка выбрать второе значение в ячейке
Добрый день, никак не получается совместить макрос который я пытаюсь совместить Есть макрос который выполняется если выбрать из списка...

Создание выпадающего списка
Нужно создать выпадающий список в ячейке средствами VBA, который ссылался бы не на диапазон ячеек, а на внутренний диапазон в тексте...

Изменение выпадающего списка
Подскажите пожалуйста, второй день пытаюсь изменить выпадающий список созданный обычной функцией в эксель (через проверку данных), не...

33
0 / 0 / 0
Регистрация: 14.01.2015
Сообщений: 2
19.05.2015, 23:58
Студворк — интернет-сервис помощи студентам
Доброго времени суток! У меня такая беда, имеется строчки такого вот кода:
Visual Basic
1
2
3
Range(Worksheets("Лист1").Cells(1,1),Worksheets("Лист1").Cells(3,1)).validation
Range(Worksheets("Лист1").Cells(1,1),Worksheets("Лист1").Cells(3,1)).Add Type:=xlValidateList,_
         Formula1:="=C1:C3"
Подскажите как здесь объявить диапазон в виде типа: Range(Worksheets("Лист2").Cells(1,1),Wor ksheets("Лист2")Cells(5,1))?
Или как-то по другому, что бы номера строк и столбцов, можно было бы заменить переменными, а благодаря Worksheets("Лист2") разместить диапазон на другом листе? Буду очень благодарен!
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
20.05.2015, 08:59
Через имя.
0
-12 / 3 / 0
Регистрация: 02.04.2012
Сообщений: 347
28.07.2016, 12:30
Люди, вы тут насоветовали, как создавать (добавлять) валидацию. А это нифига не работает.

Самое простое не работает.
Visual Basic
1
2
3
4
With rng.Validation
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Formula1:="1;2;3;4"
End With
И вылетает ошибка: application defined and object defined error
И ни один "совет" не помогает.
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
28.07.2016, 12:36
Visual Basic
1
Formula1:="1,2,3,4"
так попробуйте.
Хотя работает и с ; - ну это смотря что нужно видеть в проверке ввода.
0
-12 / 3 / 0
Регистрация: 02.04.2012
Сообщений: 347
28.07.2016, 12:43
Чисто случайно обнаружил... Нет, не ошибку. Обнаружил, как заставить его работать.
Visual Basic
1
2
3
4
With rng.Validation
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Formula1:="1;2;3;4"
End With
Visual Basic
1
2
3
4
5
rng.select
With rng.Validation
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Formula1:="1;2;3;4"
End With
Найдите отличие...

У меня офис-2016
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
28.07.2016, 13:15
Работает и без выделения, ищите ошибку в другом месте.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub tt()
Dim rng As Range
 
Set rng = Sheets(1).[i12] 'Selection
 
With rng.Validation
    .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
        Formula1:="1,2,3,4"
End With
 
End Sub
0
-12 / 3 / 0
Регистрация: 02.04.2012
Сообщений: 347
28.07.2016, 14:12
То есть я вру?
Комменчу выделение - не работает, раскомменчиваю - работает.
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
28.07.2016, 15:06
Значит я вру?
0
-12 / 3 / 0
Регистрация: 02.04.2012
Сообщений: 347
28.07.2016, 16:01
Hugo121, да
я уже привык, что мне все врут
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
28.07.2016, 16:18
Не буду разубеждать
0
28.07.2016, 16:39

Не по теме:


Vhodnoylogin "... Я уже привык, что мне все врут ..." - это лечится

0
4 / 4 / 0
Регистрация: 20.10.2016
Сообщений: 21
20.10.2016, 17:21
Всем привет!

Попробовал:
Visual Basic
1
2
3
4
rlist.Select
With rlist.Validation
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:=Join(list1, ",")
Не помогло. Офис 2010. Проблема в том, что когда в Formula1 вставляешь текстовую переменную, содержащую ",", или ";" - выдается ошибка как указано в предыдущих постах. Так что "select" не помог

Добавлено через 22 минуты
Эврика!!!

Вот так:
Visual Basic
1
2
3
4
With rlist.Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
        xlBetween, Formula1:="f1,f2,f3"
заработало. Причем если в Formula1 использовать "," - все гуд, если разделять ";" - все значения идут в одну строку.
0
4 / 4 / 0
Регистрация: 16.10.2014
Сообщений: 137
06.05.2019, 12:24
Цитата Сообщение от Казанский Посмотреть сообщение
Исправьте разделитель списка на запятую
Нужно использовать элементы списка, в которых есть запятые. Возможно ли заменить разделитель элементов списка в Formula1:= с запятой на другой символ, или ещё как-то решить вопрос?

Добавлено через 1 час 22 минуты
Через панель инструментов "Проверка данных" можно задавать элементы, содержащие запятую, там разделение точкой с запятой. Но самое интересное, я запускаю запись макроса, проделываю это, список создаётся корректно.
А когда я этот же автоматически записанный макрос запускаю из VB, то он список создаёт на основе разделителя запятой.

Например запускаю запись макроса, в "Проверка данных" задаю "строка1;строка2,строка3;строка4". Создаётся список
строка1
строка2,строка3
строка4

Удаляю. Запускаю созданный макрос из VBA. Создаётся список
строка1;строка2
строка3;строка4
0
4 / 4 / 0
Регистрация: 16.10.2014
Сообщений: 137
14.05.2019, 04:40
Специалисты VBA Excel, подскажите пожалуйста по предыдущему посту.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
14.05.2019, 04:40

Наполнение выпадающего списка ComboBox
Здравствуйте. Подскажите, как можно наполнить ComboBox, который находится на одном листе (может форме), а значения выпадающего списка...

Создание выпадающего списка в Excel
Добрый день. Хотел задать простой вопрос, вероятно он уже обсуждался здесь, но я что-то не смог точно найти ответ. Есть...

Макрос для выпадающего списка
Сразу оговорюсь, в макросах я близка к нулю, освоена пока только редакция макроса, записанного макрорекодером, и то путем проб и ошибок. ...

Макрос для выпадающего списка
Вообщем суть в том чтобы при выборе "статуса" появлялась "Страна/Регион", при выборе "Страна/Регион" появлялась...

Изменить длину выпадающего списка
Здравствуйте дороги форумяне! как изменить длину списка до, например 20? записанного через макрорекодер Sub Список() ' With...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
34
Ответ Создать тему
Новые блоги и статьи
GitHub Copilot в JetBrains: модель по умолчанию, Fix и контроль MCP
and_y87 12.10.2026
10 октября 2026 года GitHub обновил Copilot для JetBrains: добавил настройки стартовой модели, исправления из диагностики и управление автозапуском MCP. Поддержка IDE 2025. 1 прекращена — требуется. . .
День 5 из 28: Codex подсказывает следующий запрос
and_y87 12.10.2026
9 октября 2026 года OpenAI запустила бету Composer predictions — подсказок следующего сообщения в текущем диалоге Codex. Это помощь с формулировкой запроса, а не автоматическое продолжение задачи. . . .
Запустил конкурс "тем и промптов для текстовых квестов созданных почти чисто ИИ"
Adler 06.10.2026
Всем привет! За последние три-четыре дня я создал более 16 текстовых квестовых игр используя преимущественно по одному запросу к ИИ на игру. Мне так понравилось смотреть все ветки/ сцены во всех. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru