Макрос CheckBox

Макрос 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 г, но мой уровень английского не позволил сразу найти ответ.



Доступ к объектам на рабочем листе осуществляется через коллекцию 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.




Report Page