如标题所述。 首先将值添加到数组然后再添加到工作表的工作速度非常快(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中,您可以看到我将它们全部放在临时数组中,然后放在工作表上...但是不能用超链接来加快速度。
答案 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