VBA超链接|如何使用VBA代码在Excel中创建超链接?

超链接是附加到一个值的URL,当我们将鼠标悬停在该值上并单击该URL时会看到该URL,在VBA中,我们具有一个内置属性,可在VBA中创建超链接,并且要使用此属性,我们将Add方法与用超链接语句在单元格中插入超链接。

Excel VBA中的超链接

即使我们在Excel中具有Page Up和Page Down快捷键,也可以在一张纸之间切换。但是当我们不得不在10个以上的工作表之间移动时,它变得很复杂。这就是“ Excel中的超链接”之美的体现。超链接是一个预定的URL,可将您带到已分配的各个单元格或工作表。

我们都知道如何在工作表中创建超链接,以快速从一个工作表移动到另一工作表,您也可以转到任何其他工作表。但是在今天的文章中,我们将向您展示如何使用VBA编码创建超链接。

VBA超链接的公式

让我们看一下Excel VBA中超链接的公式。

  • 锚: 您要在哪个单元中创建超链接。
  • 地址: 要导航的超链接的URL是什么?
  • [子地址]: 页面的位置在哪里?
  • [屏幕提示]: 将鼠标指针放在超链接名称或单元格上时,将显示什么值?
  • [要显示的文字]: 单元格中将显示什么测试?例如工作表名称。

如何在Excel VBA中创建超链接?

您可以在此处下载此VBA超链接模板– VBA超链接模板

假设您要从另一个工作表“示例1”创建到名为“主工作表”的工作表的VBA超链接。

在工作表“示例1”和单元格A1中,我将使用VBA中的代码创建超链接。

步骤1: 首先选择工作表示例1中的单元格A1。

代码:

 Sub Hyperlink_Example1()工作表(“ Example 1”)。选择Range(“ A1”)。选择End Sub 

第2步: 现在,通过使用Active Cell对象打开超链接。添加方法。

代码:

 Sub Hyperlink_Example1()工作表(“ Example 1”)。选择Range(“ A1”)。选择ActiveCell.Hyperlinks.Add(结束Sub 

步骤3:第一个 参数是“锚点”,即我们要链接到哪个单元格以创建VBA超链接。在这种情况下,单元格A1并由于我们已经选择了单元格A1而将其称为“选择”。

代码:

 Sub Hyperlink_Example1()工作表(“示例1”)。选择范围(“ A1”)。选择ActiveCell.Hyperlinks.Add(选择,结束Sub 

第4步: 我们不在此处创建任何地址,因此从现在开始忽略Address。

代码:

 Sub Hyperlink_Example1()工作表(“ Example 1”)。选择Range(“ A1”)。选择ActiveCell.Hyperlinks.Add锚:=选择,地址:=“”,结束子 

步骤5: 接下来是子地址。在这里,我们需要提及我们所指的工作表以及该工作表的第一个单元格。

代码:

 Sub Hyperlink_Example1()工作表(“示例1”)。选择范围(“ A1”)。选择ActiveCell.Hyperlinks。添加锚点:=选择,地址:=“”,子地址:=“'Main Sheet'!A1”,结束子 

我已经提到工作表名称为“主工作表”,并且工作表单元格中的地址为“ A1”。

步骤6: 也忽略屏幕提示。要显示文本,请提及工作表名称。

代码:

 Sub Hyperlink_Example1()工作表(“示例1”)。选择范围(“ A1”)。选择ActiveCell.Hyperlinks。添加锚点:=选择,地址:=“”,子地址:=“'Main Sheet'!A1”,TextToDisplay :=“主表”结尾子 

好的,使用F5键或手动运行此代码后,它将在工作表“示例1”中的单元格A1中创建超链接。

当您单击“主表”超链接时,它将重定向到主表。

带循环的多个工作表的超链接

我们已经看到为一张纸创建一个VBA超链接。当我们有很多工作表时,很难为每个工作表创建具有相同代码行的VBA超链接。

假设您有11个工作表,如下图所示。

您要为中的每个工作表创建一个超链接。 指数 使用VBA代码的工作表。

步骤1: 将变量定义为工作表。

代码:

 Sub Create_Hyperlink()昏暗的工作表作为工作表结束Sub 

第2步: 第一件事是选择工作表索引并选择单元格A1。

代码:

 Sub Create_Hyperlink()昏暗的工作表工作表工作表(“索引”)。选择范围(“ A1”)。选择结束 

第三步: 现在,在VBA中打开“对于每个循环”。

代码:

 Sub Create_Hyperlink()将工作表中的Ws缩小为工作表(“索引”)。选择范围(“ A1”)。为ActiveWorkbook中的每个Ws选择一个。 

第4步: 由于我们已经选择了单元格A1,因此它现在是活动单元格。因此,使用活动单元格启动超链接。

代码:

 Sub Create_Hyperlink()将工作表中的Ws缩小为工作表(“索引”)。选择范围(“ A1”)。为ActiveWorkbook.Worksheets中的每个Ws选择。ActiveCell.Hyperlinks.Add(下一个Ws结束Sub 

步骤5: 锚点是一个超链接单元格。因此它是活动单元。

代码:

 Sub Create_Hyperlink()将工作表中的Ws缩小为工作表(“索引”)。选择范围(“ A1”)。为ActiveWorkbook中的每个Ws选择。工作表ActiveCell.Hyperlinks.Add锚点:= ActiveCell,下一个Ws结束Sub 

步骤6: 地址没什么可提及的,是“”。

代码:

 子Create_Hyperlink()昏暗的工作表作为工作表工作表(“索引”)。选择范围(“ A1”)。为ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add锚:= ActiveCell,Address:=“”,下一个Ws结束子 

步骤7: 子地址是当我们遍历工作表时,应为工作表名称。要引用工作表名称,我们需要使用单引号“”,带有工作表名称和“!单元格地址”,并用单引号将工作表名称关闭“”.

代码:

 子Create_Hyperlink()昏暗的Ws作为工作表工作表(“索引”)。选择范围(“ A1”)。为ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add中的每个Ws选择。 “”&Ws.Name&“!A1”&“”,下一个Ws End Sub 

步骤8: 忽略屏幕提示,要显示文本,您可以输入工作表名称。

代码:

 子Create_Hyperlink()昏暗的工作表作为工作表工作表(“索引”)。选择范围(“ A1”)。为ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add中的每个Ws选择。 “”&Ws.Name&“!A1”&“”,屏幕提示:=“”,TextToDisplay:= Ws.Name下一个Ws结束子 

步骤9: 每次为一张工作表创建超链接时,要将每张工作表的超链接存储在不同的单元格中,我们需要从活动单元格中向下移动一个单元格。

代码:

 子Create_Hyperlink()昏暗的工作表作为工作表工作表(“索引”)。选择范围(“ A1”)。为ActiveWorkbook中的每个Ws选择。工作表ActiveCell.Hyperlinks.Add锚:= ActiveCell,地址:=“”,子地址:= “”&Ws.Name&“!A1”&“”,ScreenTip:=“”,TextToDisplay:= Ws.Name ActiveCell.Offset(1,0)。选择下一个Ws End Sub 

这将在“索引”表中创建所有表的超链接。该代码是动态的,每当有工作表添加或删除时,我们只需要运行此代码即可获得更新的超链接。