【问题标题】:Excel VBA assign hyperlink to a cellExcel VBA 将超链接分配给单元格
【发布时间】:2016-05-21 09:16:03
【问题描述】:

目前我有 VBA 宏,它将根据我在概览页面上的单元格 T3 中键入的一些信息生成一个页面。我想做的是让相同的“创建页面”按钮也根据值自动分配一个超链接。

例如,如果我将 brownj1 放入单元格 t3,将创建一个页面并命名为“brownj1”,我还希望宏实现的是将名称为“brownj1”的单元格“b3”分配给新创建的页面。我认为另一种可能是更好的解决方法是搜索/循环 B 列以将匹配的单元格定位到 T3,然后分配超链接。

正如我所提到的,我已经有了生成页面并将名称指定为工作表名称的必要代码,而我正在寻找的只是一个公式,用于在生成页面时将超链接分配给特定名称。

【问题讨论】:

  • 你肯定在这里待了足够长的时间,知道你必须表现出努力。
  • 一种方法是查看此页面,了解如何创建指向工作表的超链接,然后创建一个宏循环遍历 B 列中的所有值,如果 Worksheets(cells( i, 2).Value) 存在,创建超链接stackoverflow.com/questions/9813488/…
  • 我从未见过与右侧边栏相关的问题被 -5 星否决,所以我很好奇。当我阅读您的问题时,我对您的不良行为再次投了反对票。你知道规则。向我们展示您的尝试。 “目前我有 VBA 宏将......”或“正如我提到的我已经有必要的代码......”中的代码在哪里?使用该程序。

标签: vba excel hyperlink macros


【解决方案1】:

以下是如何做到这一点的示例:

Sub createLink()
Dim lastRow As Integer, sheetCount As Integer, myRange As Excel.Range, c As Excel.Range
lastRow = Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
sheetCount = Application.Sheets.Count
Set myRange = Excel.ThisWorkbook.Sheets("Sheet1").Range("B1:B" & lastRow)

For Each c In myRange
    For x = 1 To sheetCount
        If Worksheets(x).Name = c.Value Then
             Excel.ThisWorkbook.Sheets("Sheet1").Hyperlinks.Add Anchor:=c, Address:="", SubAddress:=c.Value & "!A1"
        End If
    Next x
Next c
End Sub

【讨论】:

    猜你喜欢
    • 2018-01-11
    • 2021-09-04
    • 1970-01-01
    • 2016-08-23
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    • 2016-07-26
    • 1970-01-01
    相关资源
    最近更新 更多