【问题标题】:Create hyperlink to new sheet创建指向新工作表的超链接
【发布时间】:2019-09-27 19:44:30
【问题描述】:

我的“主工作表”中有一长串名字。我需要遍历这些行,创建一个同名的工作表,然后向该工作表添加一个超链接。

我能够创建工作表,但无法创建指向匹配工作表的适当超链接。

这是代码的sn-p:

    'HERE, I COUNT HOW MANY INDIDUAL ROWS THERE ARE IN COLUMN A'''

    Sheets("MainSheet").Range("A1").Select

    Range(Selection, Selection.End(xlDown)).Select

    Total = Selection.Count 

    'here, I copy the cell value and create a new sheet, using the cell value as the name

    'Since some cells had more than 31 characters, I had to create a code to only take the first 30 characters

    For i = Total To 1 Step -1

        Sheets("MainSheet").Cells(i, 1).Select

        Take = Left(ActiveCell, 30)

        Sheets.Add.Name = Take

        Worksheets("MainSheet").Activate

        Worksheets("MainSheet").Cells(i, 1).Select

    Next

代码有效。

我现在需要遍历同一个列表并创建相应的超链接。

以下是行的示例:

温度探头和数据传感器 A1
温度探头和数据传感器 A2
温度探头和数据传感器 A3
温度探头和数据传感器 A4
空气和压力传感器 A1

所有这些都有自己的工作表,但我想单击单元格值将我直接带到该工作表,而无需手动搜索 200 多张工作表。简而言之,主工作表将充当 Excel 工作簿其余部分的目录。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    要在同一工作簿中链接,请使用此格式的公式 =HYPERLINK("[Workbook]Worksheet!A1", "Link Text")。有关更多信息,请参阅Work with hyperlinks in Excel

    假设工作簿名称和文件路径不包含任何方括号,您甚至可以让公式找到工作簿名称。有关更多信息,请参阅this page。公式为=HYPERLINK(MID(CELL("filename"), FIND("[",CELL("filename")), (FIND("]",CELL("filename")))-FIND("[",CELL("filename"))+1) &A5 &"!A1", "Link Text")。更改该公式的最后一部分,其中A5 是具有工作表名称的单元格,A1 是链接的目标,Link Text 是任何文本或单元格引用。

    如果你用代码粘贴公式,那么用两个引号在公式中粘贴一个引号,ActiveCell.Formula = "=HYPERLINK(MID(CELL(""filename""), FIND(""["",CELL(""filename"")), (FIND(""]"",CELL(""filename"")))-FIND(""["",CELL(""filename""))+1) &A5 &""!A1"", ""Link Text"")"

    或者...这是一篇关于如何add a table of contents to your workbook 的帖子。也许你可以保存并运行一个单独的宏。

    【讨论】:

      猜你喜欢
      • 2013-07-15
      • 2016-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-03
      • 2017-07-31
      • 2015-07-18
      • 1970-01-01
      相关资源
      最近更新 更多