Как я могу использовать команду Onaction VBA, не зная имени листа? - PullRequest
1 голос
/ 18 октября 2019

Я пытаюсь использовать следующий макрос для назначения кода VBA фигуре.

При использовании кода я получаю сообщение об ошибке 438 «Объект не поддерживает это свойство или метод»

Номер моего листа всегда меняется, поэтому я не могу жестко запрограммировать его в приведенном ниже коде.

Вот код, который я использую:

Sub assignCodeToShape()
Dim x As Integer
x = getSheetNumber
ActiveSheet.Shapes("fileShape").OnAction = Sheets(x) & ".CommandButton1_Click"
End Sub

Function getSheetNumber as Integer()
    getSheetNumber =ActiveSheet.Index
End Function

1 Ответ

4 голосов
/ 18 октября 2019

Вы можете сделать это:

With ActiveSheet
    .Shapes("fileShape").OnAction = .CodeName & ".CommandButton1_Click"
End With
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...