Note: The other languages of the website are Google-translated. Back to English

 如何通過單擊Excel中的超鏈接運行宏?

宏代碼對於我們解決Excel中的一些複雜工作可能非常有幫助,通常,我們可以在 適用於應用程序的Microsoft Visual Basic 通過單擊窗口 按鈕或按下 F5 鍵。 但是,您是否曾經嘗試過通過單擊工作表中的相對超鏈接來運行宏?

通過單擊帶有VBA代碼的超鏈接來運行或執行宏


箭頭藍色右氣泡 通過單擊帶有VBA代碼的超鏈接來運行或執行宏

通過單擊Excel中的超鏈接來觸發宏可能對我們來說很有趣,以下方法可以幫助您逐步實現此任務:

1。 創建要用於執行宏代碼的超鏈接。 請單擊一個單元格並創建一個超鏈接以鏈接到其自身,請參見屏幕截圖:

doc從超鏈接1運行宏

2。 重複上述步驟以創建您要使用的其他超鏈接,如以下屏幕截圖所示:

doc從超鏈接2運行宏

3。 然後右鍵單擊包含要使用的超鏈接的工作表選項卡,然後選擇 查看代碼 從上下文菜單中,然後在打開的 適用於應用程序的Microsoft Visual Basic 窗口,將以下代碼複製並粘貼到空白模塊中:

VBA代碼:從超鏈接運行宏代碼:

Private Sub Worksheet_FollowHyperlink(ByVal Target As Hyperlink)
    If Target.Range.Address = "$B$6" Then
        Call Macro1
        End If
         If Target.Range.Address = "$B$8" Then
        Call Macro2
         End If
End Sub

doc從超鏈接3運行宏

備註:在上面的代碼中, B6 B8 單元格是否包含您要使用的超鏈接,並且 Macro1 Macro2 是宏代碼名稱,請根據需要進行更改。

4。 然後保存並關閉代碼窗口,從現在開始,單擊超鏈接時,將立即執行特定的宏代碼。


相關文章:

Excel中單元格值更改時如何運行宏?

如何在Excel中根據單元格值運行宏?

如何基於從Excel的下拉列表中選擇的值運行宏?

如何在Excel中打印之前自動運行宏?

從工作簿中選擇工作表時如何運行宏?


最佳辦公效率工具

Kutools for Excel 解決了你的大部分問題,並將你的生產力提高了 80%

  • 重用: 快速插入 複雜的公式,圖表 以及您以前使用過的任何東西; 加密單元 帶密碼 創建郵件列表 並發送電子郵件...
  • 超級公式欄 (輕鬆編輯多行文本和公式); 閱讀版式 (輕鬆讀取和編輯大量單元格); 粘貼到過濾範圍...
  • 合併單元格/行/列 不會丟失數據; 拆分單元格內容; 合併重複的行/列...防止細胞重複; 比較範圍...
  • 選擇重複或唯一 行; 選擇空白行 (所有單元格都是空的); 超級查找和模糊查找 在許多工作簿中; 隨機選擇...
  • 確切的副本 多個單元格,無需更改公式參考; 自動創建參考 到多張紙; 插入項目符號,複選框等...
  • 提取文字,添加文本,按位置刪除, 刪除空間; 創建和打印分頁小計; 在單元格內容和註釋之間轉換...
  • 超級濾鏡 (將過濾方案保存並應用於其他工作表); 高級排序 按月/週/日,頻率及更多; 特殊過濾器 用粗體,斜體...
  • 結合工作簿和工作表; 根據關鍵列合併表; 將數據分割成多個工作表; 批量轉換xls,xlsx和PDF...
  • 超過 300 項強大的功能. 支持 Office / Excel 2007-2021 和 365。支持所有語言。 在您的企業或組織中輕鬆部署。 完整功能 30 天免費試用。 60 天退款保證。
kte選項卡201905

Office選項卡為Office帶來了選項卡式界面,使您的工作更加輕鬆

  • 在Word,Excel,PowerPoint中啟用選項卡式編輯和閱讀,發布者,Access,Visio和Project。
  • 在同一窗口的新選項卡中而不是在新窗口中打開並創建多個文檔。
  • 將您的工作效率提高 50%,每天為您減少數百次鼠標點擊!
officetab底部
按評論排序
留言 (5)
還沒有評分。 成為第一位評論!
網站主持人對此評論進行了最小化
你好
這非常方便,謝謝,但僅當您在單元格 $B$8 中時才有效。 我想創建相同的超鏈接,它執行相同的宏功能,但在工作表的每一行中。
IE。 我有兩個選項卡,即工作表 1 和工作表 2。用戶在工作表 1 中,並且運行一個宏,該宏在工作表 1 和工作表 2 中逐行輸入數據。 這工作正常,但我想要一個宏,以便用戶可以單擊下一個單元格中的鏈接,並將它們帶回工作表 1 中的原始行,偏移幾個單元格。 我可以使用上述方法執行此操作,但前提是用戶位於工作表 2 中的一組行中(例如 $B$8)。 我怎樣才能使它在工作表 2 B9、B10、B11 中時宏工作......?
網站主持人對此評論進行了最小化
這將分配 sheet1 列 J,第 2 行到第 35 行,並帶有指向它自己的單元格的超鏈接,其中包含文本名稱

子whateverName()
對於 i = 2 到 35 步驟 1
ActiveCell.FormulaR1C1 = "名稱"
範圍(“J”&i)。選擇
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:= _
"'sheet1'!J" & i, TextToDisplay:="name"
下一頁

END SUB
網站主持人對此評論進行了最小化
法定語文事務署,

Um dos poucos locais onde encontrei essa solução。 Muito obrigado! Estou quase lá。 Não estou usando uma célula para o hiperlink, mas uma imagem que inseri na planilha e indicando uma célula qualquer como referência。 Fiz como indicado, mas não funciona (Só para verificação, fiz com uma célula e deu certo)。 Há alguma modificação a ser feita na macro?
網站主持人對此評論進行了最小化
我出售聯合國錯誤:

編譯錯誤:
No se ha definido Sub o 功能
網站主持人對此評論進行了最小化
效果很好
這裡還沒有評論
留下你的意見
以訪客身份發帖
×
評價此帖子:
0   字符
推薦地點

關注我們

版權所有©2009 - 萬維網。extendoffice.com。 | 版權所有。 供電 ExtendOffice。 |
Microsoft和Office徽標是Microsoft Corporation在美國和/或其他國家的商標或註冊商標。
受Sectigo SSL保護