Excel VBA创建到另一个工作表的超链接

Swi*_*ide 4 excel vba hyperlink excel-vba

简单的问题,我希望,但研究只提出了论坛帖子,提供了一堆代码,而没有解释任何代码.

我的工作簿的第一张就像一个内容页面.A列中的每个单元格都包含一个IP地址字符串.对于每个IP地址,都有一个单独的工作表,使用IP地址命名.我想将内容页面的A列中的单元格转换为其相应图纸(目标图纸的单元格A1)的超链接.

我只需要制作超链接的VBA行; 我可以弄清楚循环等.请记住,要链接的页面的名称与将成为链接的单元格的值完全相同.

cur*_*ial 14

我录制了一个制作hiperlink的宏.结果.

ActiveCell.FormulaR1C1 = "=HYPERLINK(""[Workbook.xlsx]Sheet1!A1"",""CLICK HERE"")"
Run Code Online (Sandbox Code Playgroud)


小智 12

这是我用于创建索引表的代码.

Sub CreateIndexSheet()
    Dim wSheet As Worksheet
    ActiveWorkbook.Sheets.Add(Before:=Worksheets(1)).Name = "Contents" 'Call whatever you like
    Range("A1").Select
    Application.ScreenUpdating = False 'Prevents seeing all the flashing as it updates the sheet
    For Each wSheet In Worksheets
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=wSheet.Name & "!A1", TextToDisplay:=wSheet.Name
        ActiveCell.Offset(1, 0).Select 'Moves down a row
    Next
    Range("A1").EntireColumn.AutoFit
    Range("A1").EntireRow.Delete 'Remove content sheet from content list
    Application.ScreenUpdating = True
End Sub
Run Code Online (Sandbox Code Playgroud)

希望它可以帮助某人

  • 谢谢@Lee,我现在已经将其纳入模板。我做了一个更改-用单引号括住工作表名称,以防用户创建带有空格的表而破坏了超链接。ActiveSheet.Hyperlinks.Add锚点:=选择,地址:=“”,子地址:=“'”&wSheet.Name&“'”&“!A1”,TextToDisplay:= wSheet.Name` (2认同)

why*_*heq 6

类似下面的内容将遍历控制表中的A列,并将单元格中的值转换为超链接.不是我以前必须做的事情,请原谅错误:

Sub CreateHyperlinks()

Dim mySheet As String
Dim myRange As Excel.Range
Dim cell As Excel.Range
Set myRange = Excel.ThisWorkbook.Sheets("Control").Range("A1:A5") '<<adjust range to suit

For Each cell In myRange
    Excel.ThisWorkbook.Sheets("Control").Hyperlinks.Add Anchor:=cell, Address:="", SubAddress:=cell.Value & "!A1" '<<from recorded macro
Next cell

End Sub
Run Code Online (Sandbox Code Playgroud)