Определение ошибок GroupBox из OptionButton, но проблема с расширением свойств переменных в локальном окне устраняет - PullRequest
0 голосов
/ 30 марта 2020

У меня есть настройка листа Excel с четырьмя переключателями (кнопками выбора) внутри группового блока. Это выглядит следующим образом: Настройка листа Excel .

Следующий код должен возвращать заголовок групповой ячейки («Кнопки»).

Sub rad_change2()
    Dim button As OptionButton
    Set button = ActiveSheet.OptionButtons.Item(2)
    Debug.Print (button.GroupBox.Caption)
End Sub

Когда код выполняется , есть ошибка в строке Debug.Print . Когда это происходит, я могу go в окне локальных пользователей и щелкнуть значок [+], чтобы развернуть свойства кнопки. После развертывания свойств в окне локальных пользователей я могу нажать возобновить код и код завершает работу, как и должно, и возвращает заголовок групповой ячейки.

Что мне нужно сделать, чтобы код работал без ошибок? Почему расширение свойств объекта в локальном windows разрешает ошибку? Код кажется правильным, так как он делает то, что мне нужно, но мне нужно, чтобы это происходило без ошибок в процессе.

Я использую Excel через Office 365, версия 2003 (сборка 12624.20320).

1 Ответ

0 голосов
/ 31 марта 2020

Наряду с расширением свойств кнопки, чтобы код работал до конца sh, работающего после точки останова, я обнаружил, что наведение на переменную кнопки для предварительного просмотра ее значения также работает. Это заставило меня задуматься, нужно ли получить доступ к значению или свойству кнопки, прежде чем я попытаюсь получить свойство caption свойства groupbox. Я не уверен, почему я должен был бы сделать это, но это сработало.

Следующий код помогает.

Sub rad_change2()
    Dim tempString As String
    Dim button As OptionButton
    Set button = ActiveSheet.OptionButtons.Item(2)
    tempString = button.Name
    Debug.Print (button.GroupBox.Caption)
End Sub

Вместо использования переменной tempString, button.Name может отображаться с окном сообщений или Debug.Print для того же эффекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...