Можно ли использовать гиперссылку ячейки для запуска макроса? - PullRequest
0 голосов
/ 21 февраля 2020

Я генерирую строки и изменения и хочу автоматизировать связывание с макросом. Однако я sh добавлю ссылку на макрос в интерактивной ячейке.

Я пытался использовать тот же способ, что и я. будет ссылаться на URL, чтобы начать, то мне нужно выяснить, могу ли я назначить «SubAddress: =» макросу вместо ссылки?

ws.Range("H6").Hyperlinks.Add anchor:=ws.Range("H6"), Address:="", SubAddress:="runMACRO", TextToDisplay:="Show tasks"

Обновление решено -

решение, с которым я пошел, это связать мой макрос как "screentip", а затем запустить его;)

Sub Worksheet_FollowHyperlink(ByVal target As Hyperlink)
    Application.Run target.ScreenTip
End Sub

Ответы [ 2 ]

1 голос
/ 21 февраля 2020

Да, вы можете, но не таким образом ... Трюк должен быть использован. Создание гиперссылки для самой ячейки и последующее использование события WorksheetFollowHyperlink для Target.Parent.Address. Смотри здесь , пожалуйста ...

1 голос
/ 21 февраля 2020

Как указано в комментариях, вы можете использовать обработчик событий Workbook_SheetFollowHyperlink. Следовательно, вы должны были бы в модуле ThisWorkbook добавить что-то вроде следующего кода, который будет вызывать runMACRO всякий раз, когда гиперссылка в ячейке H6 нажимается.

Private Sub Workbook_SheetFollowHyperlink(ByVal Sh As Object, ByVal Target As Hyperlink)
    If Target.Range.Address = "$H$6" Then
        Call runMACRO
    End If
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...