Excel中不同工作表的超链接下拉列表。

问题描述 投票:-1回答:1

我有5张不同的单子。S1, S2, S3, S4, S5. 还有一个 "信息 "表,其中我有整体的信息,在每一行我都希望有一个下拉菜单,并直接链接到其中一个表(S1, S2, S3, S4, S5)。我尝试使用 间接 函数与 地址 但它不是动态的。有没有一种方法可以让下拉列表直接内置到工作表的超链接?

我希望我可以描述我的情况。

excel excel-vba excel-formula hyperlink worksheet
1个回答
1
投票

没有必要重新发明轮子。这已经是Excel的内置功能。右键点击左下角的工作表导航箭头,会弹出工作表列表。点击你想去的工作表。隐藏的工作表(如我截图中的Sheet3)将不会被列出。

enter image description here


1
投票

在单元格中放置一个下拉框,比如。A5.

enter image description here

B5 输入。

=HYPERLINK("#" & A5 & "!A1",A5)

这将创建一个 "热 "的超链接到单元格。A1 您在下拉菜单中选择的工作表的内容。

enter image description here

EDIT#1:

把你的下拉菜单放在栏里 A. 每个下拉菜单可以选择任何工作表。 然后在工作表代码区域输入。

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim A As Range, sht As String, sh As Worksheet

    Set A = Range("A:A")
    If Intersect(Target, A) Is Nothing Then Exit Sub

    sht = Target.Value
    For Each sh In Sheets
        If sh.Name = sht Then
            sh.Activate
        End If
    Next sh
End Sub

每当你改变列中的一个值 A,代码会检查新的值是否为有效的工作表名称,如果是,代码会跳转到该工作表。 如果是,代码就会跳转到该表。 如果它不是一个有效的名字,就不会发生任何坏事。

这种方法的优点是,如果你添加删除工作表,不需要改变代码。

因为它是工作表代码,所以很容易做到 安装 并自动使用。

  1. 右键单击Excel窗口底部附近的选项卡名称。
  2. 选择 "查看代码"--会弹出一个VBE窗口。
  3. 把这些东西粘贴进去,然后关闭VBE窗口。

如果您有任何疑虑,请先在试用工作表上试用。

如果您保存工作簿,宏也会随之保存。如果您使用的是2003年以后的Excel版本,您必须将文件保存为.xlsm而不是.xlsx。

去掉 宏。

  1. 调出VBE窗口,如上图
  2. 扫码
  3. 关闭VBE窗口

要了解更多关于宏的一般情况,请看。

http:/www.mvps.orgdmcritchieexcelgetstarted.htm

http:/msdn.microsoft.comen-uslibraryee814735(v=office.14).aspx。

要了解更多关于事件宏(工作表代码)的信息,请看。

http:/www.mvps.orgdmcritchieexcelevent.htm

必须启用宏才可以使用。

© www.soinside.com 2019 - 2024. All rights reserved.