我有5张不同的单子。S1, S2, S3, S4, S5. 还有一个 "信息 "表,其中我有整体的信息,在每一行我都希望有一个下拉菜单,并直接链接到其中一个表(S1, S2, S3, S4, S5)。我尝试使用 间接 函数与 地址 但它不是动态的。有没有一种方法可以让下拉列表直接内置到工作表的超链接?
我希望我可以描述我的情况。
在单元格中放置一个下拉框,比如。A5.
在 B5 输入。
=HYPERLINK("#" & A5 & "!A1",A5)
这将创建一个 "热 "的超链接到单元格。A1 您在下拉菜单中选择的工作表的内容。
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,代码会检查新的值是否为有效的工作表名称,如果是,代码会跳转到该工作表。 如果是,代码就会跳转到该表。 如果它不是一个有效的名字,就不会发生任何坏事。
这种方法的优点是,如果你添加删除工作表,不需要改变代码。
因为它是工作表代码,所以很容易做到 安装 并自动使用。
如果您有任何疑虑,请先在试用工作表上试用。
如果您保存工作簿,宏也会随之保存。如果您使用的是2003年以后的Excel版本,您必须将文件保存为.xlsm而不是.xlsx。
至 去掉 宏。
要了解更多关于宏的一般情况,请看。
http:/www.mvps.orgdmcritchieexcelgetstarted.htm
和
http:/msdn.microsoft.comen-uslibraryee814735(v=office.14).aspx。
要了解更多关于事件宏(工作表代码)的信息,请看。
http:/www.mvps.orgdmcritchieexcelevent.htm
必须启用宏才可以使用。