Вот один из тех, на которых я застрял.
У меня есть макрос, который открывает все книги в папке / каталоге по одной и выполняет определенные действия, одним из которых является снятие всех флажков, найденныхв .Range ("K25: U56"), но есть один флажок в этом диапазоне, который я хотел бы пропустить (или то, что я делаю сейчас, это сохранить текущее значение перед снятием отметки со всех полей в диапазоне)произойдет, а затем восстановите это значение после того, как произойдет отмена проверки, в зависимости от того, что произойдет).Я получаю " Элемент с указанным именем не найден. ", используя следующую строку:
' Store checkbox50's value to return later
Dim checkbox As Boolean
If sh.CheckBoxes("Check Box 50").Enabled = True Then checkbox = True
If sh.CheckBoxes("Check Box 50").Enabled = False Then checkbox = False
Я также пробовал:
' Store checkbox50's value to return later
Dim checkbox As Boolean
If sh.Shapes("Check Box 50").OLEFormat.Object.Value = True Then checkbox = True
If sh.Shapes("Check Box 50").OLEFormat.Object.Value = False Then checkbox = False
... и я получаю " Невозможно получить свойство Value класса CheckBox. " Вот скриншот того, с чем я работаю (обратите внимание на флажок 50 в качестве имени?).
Есть идеи?Если вы хотите опубликовать полный код, просто оставьте комментарий, но мне интересно, есть ли другой способ поиска этого конкретного флажка?Спасибо!