手工客

关注公众号 shougongke

关闭
手工客 > 电脑 > 正文

Excel中VBA怎么实现自动批量添加超链接?

想要使用VBA程序在Excel中批量添加超链接;将Excel其中一个工作表的某列添加另外一个工作表的某列的超链接。下面我们就来看看详细的教程。

1、将Excel的VBA宏安全性改为最低,这样方便运行宏代码

2、在Excel表格任意位置添加【按钮控件

3、改变按钮控件名称

4、双击按钮控件,打开代码编辑VBA窗口;删除全部显示的代码

5、'复制此步骤所有内容到VBA窗口,包括这句话。

Option Explicit
Public Sub PiLiangChaoLianJie()
'01----批量超链接,将一个工作表中的列作为超链接添加到另外一个工作表中
' 宏由 keke 录制,时间: 2019/9/25
'
Dim S1 As String, S2 As String
Dim SHEET_NAME As String
Dim LINK_CELL As String, Link_S As String, LINK_Name As String
Dim I As Integer
Dim LINK_text As String
Dim Str_i%, End_i%
Str_i = InputBox("请输入起始行", , 1)
End_i = InputBox("请输入结束行", , 50)
SHEET_NAME = InputBox("请输入需要添加超链接的【工作表】名字", , "sheet1")
S2 = InputBox("请输入需要创建连接的【列】名", , "A")
LINK_Name = InputBox("请输入链接到的【工作表】的名字", , "sheet2")
Link_S = InputBox("请输入链接到工作表所在的【列】名", , "A")
For I = Str_i To End_i
    LINK_CELL = LINK_Name & "!" & Link_S & I
    S1 = S2 & I
    Range(S1).Select
    Sheets(SHEET_NAME).Select
    If Worksheets.Application.Range(LINK_CELL).Value = "" Then
    LINK_text = LINK_CELL
    Else
    LINK_text = Worksheets.Application.Range(LINK_CELL).Value
    End If
    ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:=LINK_CELL, TextToDisplay:=LINK_text
Next I
End Sub
Private Sub CommandButton1_Click()
PiLiangChaoLianJie
End Sub

6、返回Excel窗口,单击按钮执行指令

7、该程序会提示你输入指定的参数,可以参考提示输入。如下图:一步一步输入,如果输入错误,程序崩溃,重新执行指令

如果程序错误【单击】【结束按钮】然后重新单击 批量超链接 按钮即可,重新操作。

就是就是Excel中VBA实现自动批量添加超链接的教程,希望大家喜欢,请继续关注手工客。

阅读全文