使用excel中的vba生成目录

时间:2015-01-06 16:20:23

标签: excel vba excel-vba

我有一个宏从外部源检索数据,然后在单个工作表中格式化/绘制数据。我有大量的工作表(100+),我想在我的第一个工作表上创建一个目录列

我的宏的工作方式是我的第一个工作表作为我的命令工作表。我有一个油井序列号列表(A栏),然后擅长,并从互联网上下载相关信息。每个油井下载的信息被放入一个新的工作表,然后根据C栏中的值进行命名。

在D栏中,我想插入C列中任何文本的超链接版本。此超链接将链接到使用A列和C列生成和命名的表格。

我试图自己创造这个,但我不能让它发挥作用。

如果我能说清楚的话,请告诉我。

我附上了一张图片,展示了我想要的内容。见下文

enter image description here

2 个答案:

答案 0 :(得分:1)

Excel VBA create hyperlink to another sheet

由@curial提供: 我录制了一个制作超链接的宏。这导致了。

ActiveCell.FormulaR1C1 = "=HYPERLINK(""[Workbook.xlsx]Sheet1!A1"",""CLICK HERE"")"

对于您的具体应用,公式为:

=HYPERLINK(""[NameOfWorkbook.xlsx]" & C2 & "!A1"", C2)

然后将其复制下来。

答案 1 :(得分:0)

建立Chrismas007的答案,也许这就是你所需要的:

Sub Add_Hyperlinks()
    Dim lngLastRow As Long, i As Integer
    lngLastRow = ActiveSheet.Range("C" & Rows.Count).End(xlUp).Row
    For i = 2 To lngLastRow
        Cells(i, 4).Activate
        ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:="", SubAddress:="'" & i - 1 & "'!A1", TextToDisplay:="'" & i - 1 & "'!A1"
    Next
End Sub

如果你将它抛入你现有的sub(或保持它分开并在main sub中调用它),它将通过,找到最后一行,然后从第2行循环到最后一行添加=超链接公式需要的地方。只需确保根据需要编辑该超链接公式的内容。

更新:这应该解决它!在For循环中添加超链接的新公式(对我来说至少是)