CommandButton на рабочем листе не найден - PullRequest
2 голосов
/ 18 июня 2019

Для следующего кода я получаю эту ошибку

Метод или элемент данных не найдены.

Private Sub Workbook_Open()
    Dim ws1 As Worksheet: Set ws1 = Worksheets("Sheet1")

    With ws1.CommandButton1   ' Error apears here
        'Set Top/Height/Width/Left
    End With
End Sub

Если я использую следующий код, все работает нормально:

Private Sub Workbook_Open()
    With Worksheets("Sheet1").CommandButton1
         'Set Top/Height/Width/Left
    End With
End Sub

Я надеюсь, что кто-то может помочь мне понять, почему эта проблема возникает и как ее можно решить. Потому что я хочу написать более короткий макрос и не всегда писать "Worksheets (" ... "). CommandButton .."

Большое спасибо:)

1 Ответ

2 голосов
/ 18 июня 2019

Вы можете использовать следующее, чтобы сделать то же самое:

Private Sub Workbook_Open()
    Dim obj As Object
    Set obj = Sheet1.CommandButton1
    With obj   ' Error apears here
        'Set Top/Height/Width/Left
    End With

End Sub

В моем примере я использую кодовое имя листа, а не обычное имя.

Я думаю, что причина, по которой первая опубликованная вами версия не работает, заключается в том, что CommandButton1 не является частью объектной модели рабочего листа.

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