我有一个名为“摘要”的工作表,其中包含英国各县的列表,然后我为每个县准备了一个单独的工作表。
我想要做的是自动将摘要页面上的县列表超链接到 Excel 中的相关工作表。
听起来应该很简单......但如果不逐个单击每个名称、超链接、从“此文档内”框中选择工作表等,我就无法弄清楚......这有点冗长。
谢谢,
答案1
答案2
原始宏很有用,但需要修改以在目标周围添加单引号:
Do While r <= maxRows
ActiveSheet.Hyperlinks.Add Anchor:=Rng(r, 1), Address:="", SubAddress:="'" & Rng(r, 1).Value _
& ")'!A1", TextToDisplay:=Rng(r, 1).Value
On Error Resume Next
r = r + 1
Loop
答案3
您可以将 HYPERLINK 与 CELL 函数和一些字符串函数结合使用。或者您可以使用以下宏:
Sub LinkToSheet()
Dim Rng As Range
Dim maxRows, r As Integer
Set Rng = Selection
maxRows = Rng.Rows.Count 'number of rows in the selection
r = 1
Do While r <= maxRows
ActiveSheet.Hyperlinks.Add Anchor:=Rng(r, 1), Address:="", SubAddress:=Rng(r, 1).Value & "!A1", TextToDisplay:=Rng(r, 1).Value
On Error Resume Next
r = r + 1
Loop
End Sub
用法:突出显示摘要表中的所有国家/地区名称,然后按Alt+F8然后双击该宏。这假设列表中的工作表存在。即使工作表不存在,宏仍会创建超链接。它还会跳过空白单元格。以下是示例工作表:http://ge.tt/2gheiw5