Excel 批量添加到工作表的超链接

2021年9月19日 121点热度 0人点赞 0条评论

问题描述

要给一个 excel 工作簿里的一个表中的一些数据,按照单元格内的值添加链接到以该值为表名的工作表中。使用 HYPERLINK 函数创建的超链接无法删除原数据,所以这里使用 vba 脚本来解决。

解决方案

要实现的功能就是遍历需要增加超链接的范围内的单元格,判断单元格是否为空,判断工作表内是否存在以单元格值为表名的工作表,添加超链接。

VBA 脚本:

Sub 按工作表名称添加到工作表的超链接()
Dim SheetName As String
Dim Count As Integer
Count = 0
SheetName = InputBox("需要添加超链接的工作表名称")
CellRange = InputBox("单元格范围 例:A1:B2")
 For Each c In Sheets(SheetName).Range(CellRange).Cells
 Dim CellValue As String
 CellValue = c.Value
  If Not IsEmpty(c) Then
   For Each Sheet In ThisWorkbook.Sheets
    If Sheet.Name = CellValue Then
     Sheets(SheetName).Hyperlinks.Add Anchor:=c, Address:=ThisWorkbook.Name, SubAddress:=Sheets(CellValue).Name & "!A1"
     Count = Count + 1
     Exit For
    End If
    Next
  End If
 Next
 MsgBox "共增加超链接: " & Count
End Sub

使用方法:

右键需要增加超链接的工作表,点击查看代码,粘贴以上代码后点击运行。

表名填写需要增加超链接工作表的名称。

范围填写需要增加超链接的范围。

确定后即可自动创建超链接。

AIKAMINO

这个人很懒,什么都没留下