[英]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.