将超链接添加到工作表的最快方法是什么?

时间:2019-09-13 21:11:08

标签: excel vba

如标题所述。 首先将值添加到数组然后再添加到工作表的工作速度非常快(8000个单元格为15ms,而循环到工作表时为350ms)。但是是否有类似的方法可以非常快速地添加超链接?在工作表上直接循环,每个单元格很难使用其工具。 我想对所有带有自定义超链接的单元格保持相同的可见值。

编辑:

                        With Me.RangeTarget(2, mvaln).Resize(rowi + 1)
                        Select Case qcolumn.Preprocess
                        Case 1
                            For i = 0 To UBound(rsrows, 2)
                                localcol(i, 0) = Application.WorksheetFunction.Trim(rsrows(j, i))
                            Next
                            .Value2 = localcol
                        Case 2
                            For i = 0 To UBound(rsrows, 2)
                                localcol(i, 0) = Application.WorksheetFunction.Degrees(rsrows(j, i))
                            Next
                            .Value2 = localcol
                        Case 3
                             For i = 0 To UBound(rsrows, 2)
                                localcol(i, 0) = Application.WorksheetFunction.Radians(rsrows(j, i))
                            Next
                            .Value2 = localcol
                        Case 4
                            For i = 0 To UBound(rsrows, 2)
                                If LenB(rsrows(j, i)) > 0 Then
                                    Me.RangeTarget(2 + i, mvaln).Hyperlinks.Add Anchor:=Me.RangeTarget(2 + i, mvaln), Address:=rsrows(j, i), TextToDisplay:="Link"
                                Else
                                    Me.RangeTarget(2 + i, mvaln).ClearContents
                                End If
                            Next
                        Case 5
               ... ... ...

这是我当前的代码...在“情况4”下,我想避免循环。 rsrows(j, i)是需要放在表中的值。在案例1到案例3中,您可以看到我将它们全部放在临时数组中,然后放在工作表上...但是不能用超链接来加快速度。

1 个答案:

答案 0 :(得分:2)

我不确定rsrows(j, i)包含什么值。无论是URL /文件路径还是内部单元格引用。无论哪种方式,只需将=HYPERLINK()公式与.Value2 =.Formula =

一起使用
For i = 0 To UBound(rsrows, 2)
    If LenB(rsrows(j, i)) > 0 Then
        localcol(i, 0) = "=HYPERLINK(" & rsrows(j, i) & "," & "Link" & ")"
    Else
        localcol(i, 0) = vbNullString
    End If
Next
.Formula = localcol
'.Value2 = localcol

P.S。如果您需要一些帮助链接到文件中的单元格,请查看以下文章: Excel hyperlink to a specific cell