Снова о Макрос CheckBox
Я уже обращался по поводу этого Макроса (Макрос Checkbox)-получил исчерпывающий ответ:
For i = 1 To 6
If Controls("CheckBox" & i) = False Then
MsgBox "TEST", vbOKOnly
End If
Next
Но мой Excel на отрез не хочет его запускать, VBA-редактор сообщает что Controls not defined Прошу помочь разобраться. Продолжая поиски на свой вопрос выяснил, что есть ответ, на этом же англоязычном сайте https://stackoverflow.com/a/57983985/27667238,данный еще в 2019 г, но мой уровень английского не позволил сразу найти ответ.
Ответы (1 шт):
Автор решения: rotabor
→ Ссылка
Доступ к объектам на рабочем листе осуществляется через коллекцию Shapes:
- Для Form Controls:
ActiveSeet.Shapes("CheckBox" & i).DrawingObject
- Для ActiveX Controls:
ActiveSeet.Shapes("CheckBox" & i).DrawingObject.Object
Определить тип чекбокса можно по внешнему виду, поведению или по значению Shape.Type: ActiveSeet.Shapes("CheckBox" & i).Type
- msoFormControl - это чекбокс типа Form Control.
- msoOLEControlObject - это чекбокс типа ActiveX Control.