Excel VBA 2016 - попытка найти имя флажка, невозможно получить значение свойства, ошибка - PullRequest
2 голосов
/ 10 мая 2019

Вот один из тех, на которых я застрял.

У меня есть макрос, который открывает все книги в папке / каталоге по одной и выполняет определенные действия, одним из которых является снятие всех флажков, найденныхв .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 в качестве имени?).

enter image description here

Есть идеи?Если вы хотите опубликовать полный код, просто оставьте комментарий, но мне интересно, есть ли другой способ поиска этого конкретного флажка?Спасибо!

1 Ответ

0 голосов
/ 11 мая 2019

Благодаря @BigBen мы обнаружили, что проблема заключалась в том, что я просматривал все листы в книге, но не на каждом листе был «флажок 50», поэтому он искал что-то, чего не было в эти вторичные листы. Я буду работать над своим кодом, чтобы отразить это. Спасибо !!!!

...