Я искал большую часть этой ошибки и не мог найти решение, получая следующую ошибку:
Ошибка 1004 определения приложения или объекта
Используя следующий код:
Sheets("sheet1").Shapes(shapeName).OnAction = macroName
- все это в простой рабочей тетради с одним листом.
- любые внешние макросы
- лист / форма не заблокированы
- shapeName и macroName - простые строки
Дополнительная информация:
Call SetButtonActive("get_quest_1", "GetQuest")
Function SetButtonActive(shapeName As String, macroName As String)
Sheets("sheet1").Shapes(shapeName).OnAction = macroName
Sheets("sheet1").Shapes.Range(Array(shapeName)).ShapeStyle = msoShapeStylePreset41
With Sheets("sheet1").Shapes.Range(Array(shapeName)).Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorText1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
.Transparency = 0
End With
End Function