回覆列表
  • 1 # 使用者804386860247

    使用Hyperlink生成超連結時,超連結屬於Sheet,不屬於單元格,所以執行程式碼時,報錯【執行時錯誤‘9’ 下標越界】

    以下程式碼,請安排在模組中

    當然你需要設法執行myOnkey以便使設定的快捷鍵生效。這裡我假設設定的快捷鍵是Alt+x(你可以隨時執行clearOnkey取消快捷鍵)

    Sub myOnkey()

    Application.OnKey "%x", "myClick"

    End Sub

    Sub clearOnkey()

    Application.OnKey "%x"

    End Sub

    Sub myClick()

    On Error Resume Next

    Selection.Hyperlinks(1).Follow NewWindow:=True

    If Error = "" Then Exit Sub

    On Error GoTo 0

    Dim hyperText As String

    hyperText = StrConv(Selection.Formula, vbLowerCase)

    If InStr(hyperText, "http://") = 0 Then Exit Sub

    hyperText = Mid(hyperText, InStr(hyperText, "http://"), InStr(hyperText, ",") - InStr(hyperText, "http://") - 1)

    ActiveSheet.Hyperlinks.Add anchor:=Selection, Address:=hyperText

    Selection.Hyperlinks(1).Follow

    Selection.Hyperlinks(1).Delete

    End Sub

    myClick程式碼會先嚐試有沒有手工輸入的連結,如果能正確執行就結束,如果不能,嘗試取得公式,如果公式中沒有”http://“(你可以自己定義你自己的超連結關鍵字串),也會結束,否則,會按照hyperlink函式的結構取得超連結,併為Selection臨時新增超連結並執行Follow方法,執行後刪除新增的超連結

    以上請測試

    祝你順利

  • 中秋節和大豐收的關聯?
  • 屬牛的幾月份出生最好?