簡體   English   中英

如何在Excel中對整個工作簿運行雙擊子過程

[英]How to run a double click sub procedure over a whole workbook in Excel

我希望能夠雙擊列1中的任何一行,並打開另一個與該行相對應的電子表格。 我只能在一張紙上工作,但是我無法弄清楚如何使其在整個工作簿上都能工作。 請幫忙

Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim fpath As String
    Dim fname As String
    Dim Tname As String
    Dim i As Integer

    Tname = ActiveSheet.Name

    If Target.Column = 1 Then
        If Target.Cells.Count > 1 Then Exit Sub
            i = Target.Column

            fpath = "Q:\Construction\Road\Patrols\" & Tname & "\"

            Select Case i
                Case 1: fname = ActiveCell.Value & ".xlsx"
            End Select

            If Dir(fpath & fname) = vbNullString Then
                MsgBox ("The file does not exist")
            Else
                ThisWorkbook.FollowHyperlink fpath & fname
            End If
        End If
    End If
End Sub

您的代碼位於特定工作表的3模塊中。

若要將其應用於整個工作簿,請將代碼移至ThisWorkbook模塊,並使用Workbook_SheetBeforeDoubleClick事件

修改后的代碼,進行了一些優化

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
    Dim fPath As String

    If Target.Column = 1 Then
        fPath = "Q:\Construction\Road\Patrols\" & Sh.Name & "\" & Target.Value & ".xlsx"
        If Dir(fPath) = vbNullString Then
            MsgBox ("The file does not exist")
        Else
            ThisWorkbook.FollowHyperlink fPath
        End If
    End If
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM