问题描述
要给一个 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
使用方法:
右键需要增加超链接的工作表,点击查看代码,粘贴以上代码后点击运行。
表名填写需要增加超链接工作表的名称。
范围填写需要增加超链接的范围。
确定后即可自动创建超链接。
文章评论