我在名为 MAIN、SUB1 和 SUB2 的 Excel 工作表中有三个选项卡。
SUB1 包含一个 TC 列,其值为 TC1、TC2、...TC30。
而 SUB2 包含一个 TC 列,其值为 TC31、TC32、...TC90。
MAIN 选项卡包含一个 TC 列,其值为 TC1...TC90。
*我需要一个通用公式,以便如果用户单击 TC1(SUB1 的 TC 列),超链接应将其带到 MAIN 的 TC 列中的 TC1(反之亦然)。
我在名为 MAIN、SUB1 和 SUB2 的 Excel 工作表中有三个选项卡。
SUB1 包含一个 TC 列,其值为 TC1、TC2、...TC30。
而 SUB2 包含一个 TC 列,其值为 TC31、TC32、...TC90。
MAIN 选项卡包含一个 TC 列,其值为 TC1...TC90。
*我需要一个通用公式,以便如果用户单击 TC1(SUB1 的 TC 列),超链接应将其带到 MAIN 的 TC 列中的 TC1(反之亦然)。
试试这个代码。您需要将其放置在ThisWorkbook
模块中:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim wsTarget As Worksheet
If Left(Target, 2) <> "TC" Then Exit Sub
On Error GoTo ErrorHandler1
If UCase(Left(Sh.Name, 3)) = "SUB" Then
Set wsTarget = Sheets("Main")
Else
Set wsTarget = Sheets("SUB" & _
IIf(CInt(Mid(Target.Value, 3)) <= 30, 1, 2))
End If
wsTarget.Activate
On Error GoTo ErrorHandler2
wsTarget.Cells.Find(Target.Value, wsTarget.Range("A1")).Activate
Exit Sub
ErrorHandler1:
MsgBox "Cannot identify target sheet from " & Target
Exit Sub
ErrorHandler2:
MsgBox "Cannot find " & Target & " in sheet " & wsTarget.Name
End Sub