|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
23.06.2017, 17:16 | #1 |
Форумчанин
Регистрация: 01.03.2009
Сообщений: 230
|
собрать имя элемента формы в коде vba
на листе есть пул чекбоксов
их имена отличаются последней цифрой и выглядят они так {Chb1, Chb2, ...} я хочу перебрать их значения и загнать в массив переменные {0,1} соответсвующие value чекбокса с аналогичным номером. (massiv(1) соответствует Chb1) я предполагал возможным это сделать через определение подобного вида dim sh as string sh = "Worksheets(" & Chr(34) & "Настройки" & Chr(34) & ").Chb" & (i - 4) & ".Value" но в условии использовать такую запись не могу, строка if sh=true then выдает ошибку. если я прописываю в условии чекбокс в явном виде - ошибки нет. вопрос, что я сделал не так? (или не сделал так) можно ли вообще перебирать параметры элементов управления формы подобным образом в коде vba в принципе? |
23.06.2017, 17:27 | #2 |
Новичок
СтарожилДжуниор
Регистрация: 05.02.2008
Сообщений: 9,487
|
чекбоксы могут находиться в форме, в листе, в разных листах..
о Ваших чекбоксах никто ничего не знает, поэтому вряд-ли помогут без файла примера или точного описания
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
|
23.06.2017, 17:45 | #3 |
Форумчанин
Регистрация: 01.03.2009
Сообщений: 230
|
а если так переформулировать:
такая запись работает корректно (внутрь условия пускает) If Worksheets("Настройки").Chb1.Value = True Then такая запись работает с ошибкой (внутрь условия не пускает) i=1 If "Worksheets(" & Chr(34) & "Настройки" & Chr(34) & ").Chb" & i & ".Value" = True Then вопрос, можно ли переделать как-то вторую запись, чтобы условие меня внутрь пускало, как и в первом случае? мне казалось просто, вопрос достаточно узкий.. или все равно лучше выложить файл? |
23.06.2017, 18:54 | #4 |
Форумчанин
Регистрация: 01.03.2009
Сообщений: 230
|
файл:
|
23.06.2017, 22:06 | #5 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
Вариант(ы) без сборки :
Код:
|
26.06.2017, 11:18 | #6 |
Форумчанин
Регистрация: 01.03.2009
Сообщений: 230
|
отличные варианты, спасибо!
|
28.06.2017, 23:24 | #7 |
Форумчанин
Регистрация: 03.11.2006
Сообщений: 524
|
чуть не забыл ещё один вариант
Код:
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Помогите в моем коде реализовать поиск минимального и максимального элемента функция minmax | SlavikKirov | Общие вопросы C/C++ | 0 | 29.10.2015 23:02 |
Вывести имя компонента в заголовок формы | Алексей_2012 | Общие вопросы Delphi | 10 | 27.12.2013 02:46 |
Убрать ошибку #Имя? в полях формы | skafiend | Microsoft Office Access | 1 | 03.06.2011 07:12 |
Как присвоить имя столбцу в VBA? | Neo007 | Microsoft Office Excel | 8 | 22.01.2009 09:46 |
Передача элемента формы | varied | Общие вопросы Delphi | 10 | 21.12.2006 23:45 |