我的“主表”中有一长串名称。我需要遍历这些行,创建一个具有相同名称的工作表,然后向该工作表添加超链接。
我能够创建工作表,但无法创建到匹配工作表的适当超链接。
这是代码段:
'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工作簿其余部分的目录。
答案 0 :(得分:0)
要在同一工作簿中进行链接,请使用具有以下格式的公式= HYPERLINK(“ [Workbook] Worksheet!A1”,“链接文本”)。有关更多信息,请参见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的帖子。也许您可以保存并运行一个单独的宏。