Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Управление элементами Active X с помощью VBA

Автор Dr_Lex, 17.04.2015, 13:32

« назад - далее »

Dr_Lex

Поиском воспользоваться не получается, на любой запрос пишет: "Длина слова должна быть хотя бы в два символа." Так что извините, если уже было.

Есть файл приём заказа. Дабы оператор не забывал убирать какие-то пункты и вообще меньше времени тратил на ввод данных, хочу сделать макрос, который, после нажатия на кнопку, меняет все данные на первоначальные. С VBA знаком лишь понаслышке, так что столкнулся с проблемой. Данные в ячейках поменять не проблема, а вот то, что касается элементов управления Active X не хочет работать. Средство записи макроса просто игнорирует мои действия с этими элементами, так что получить код не могу. Подскажите, как управлять этими элементами при помощи VBA?
Заранее спасибо.
P.S. файл примера не хочет прикрепляться :( пишет, что формат не подходящий.

Dr_Lex

Сохранил пример в формате 2003 Excel`я

cheshiki1

With Worksheets("Оформление груза")
.OLEObjects("CheckBox21").Object.Value = False
.OLEObjects("CheckBox22").Object.Value = False
.OLEObjects("ComboBox21").Object.ListIndex = 0
.OLEObjects("OptionButton21").Object.Value = True
.OLEObjects("OptionButton22").Object.Value = False
.OLEObjects("OptionButton23").Object.Value = False
.OLEObjects("OptionButton24").Object.Value = False
End With

в примере кнопки не рабочие, так что на примере не проверял.

Dr_Lex

Боже, как всё просто, когда знаешь. Огромное спасибо. Всё работает как надо. Странно что средство записи код не выдаёт, тем более он такой простой оказался.

Dr_Lex

#4
Ещё одно уточнение...
Это не уточнение, это новый вопрос для другой темы [МОДЕРАТОР]