Excel中指向不同工作表的超链接下拉列表
我有5张不同的纸:S1、S2、S3、S4、S5。和一个“信息”表,其中我有整体信息,在每一行中,我想要一个下拉列表,并直接链接到其中一个表(S1、S2、S3、S4、S5)。我试着使用间接函数和地址,但它不是动态的。有没有办法制作一个下拉列表,其中包含直接内置的工作表超链接Excel中指向不同工作表的超链接下拉列表,excel,vba,excel-formula,hyperlink,worksheet,Excel,Vba,Excel Formula,Hyperlink,Worksheet,我有5张不同的纸:S1、S2、S3、S4、S5。和一个“信息”表,其中我有整体信息,在每一行中,我想要一个下拉列表,并直接链接到其中一个表(S1、S2、S3、S4、S5)。我试着使用间接函数和地址,但它不是动态的。有没有办法制作一个下拉列表,其中包含直接内置的工作表超链接 我希望我能描述一下我的情况 无需重新发明车轮。这已经内置到Excel中。右键单击左下角的图纸导航箭头,将弹出图纸列表。单击要转到的工作表。隐藏的工作表(如我截图中的Sheet3)将不会列出 无需重新发明车轮。这已经内置到Exc
我希望我能描述一下我的情况 无需重新发明车轮。这已经内置到Excel中。右键单击左下角的图纸导航箭头,将弹出图纸列表。单击要转到的工作表。隐藏的工作表(如我截图中的Sheet3)将不会列出
无需重新发明车轮。这已经内置到Excel中。右键单击左下角的图纸导航箭头,将弹出图纸列表。单击要转到的工作表。隐藏的工作表(如我截图中的Sheet3)将不会列出
在单元格中放置一个下拉列表,例如,A5 在B5中输入:
=HYPERLINK("#" & A5 & "!A1",A5)
这将创建一个“热”超链接,指向在下拉列表中拾取的工作表的单元格A1:
编辑#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中的值,代码都会检查该值,即新值是有效的图纸名称。如果是,代码将跳转到该工作表。如果它不是一个有效的名称,则不会发生任何不好的情况
这种方法的优点是,如果添加/删除工作表,则不需要更改代码
因为它是工作表代码,所以安装和自动使用都非常容易:
必须启用宏才能工作在单元格中放置一个下拉列表,例如,A5 在B5中输入:
=HYPERLINK("#" & A5 & "!A1",A5)
这将创建一个“热”超链接,指向在下拉列表中拾取的工作表的单元格A1:
编辑#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中的值,代码都会检查该值,即新值是有效的图纸名称。如果是,代码将跳转到该工作表。如果它不是一个有效的名称,则不会发生任何不好的情况
这种方法的优点是,如果添加/删除工作表,则不需要更改代码
因为它是工作表代码,所以安装和自动使用都非常容易:
必须启用宏才能工作我知道这一点。。我的问题是如何将这两个列合并为一个?例如:在“A5单元格”中,在从下拉列表中选择S2后,我应该能够单击“A5单元格”中的相同S2,这应该转到S2工作表。我希望你能理解我的问题。@SpandanRout我想到了一种方法,可以用VBA实现你的“单细胞”目标…………仍然感兴趣??绝对感兴趣!!那会很有帮助的。谢谢@请看我的编辑,我知道。。我的问题是如何将这两个列合并为一个?例如:在“A5单元格”中,在从下拉列表中选择S2后,我应该能够单击“A5单元格”中的相同S2,这应该转到S2工作表。我希望你能理解我的问题。@SpandanRout我想到了一种方法,可以用VBA实现你的“单细胞”目标…………仍然感兴趣??绝对感兴趣!!那会很有帮助的。谢谢@SpandanRout查看我的编辑#1