我的工作簿里有两张纸 . 名称如下:

1) Temp
2) Validation Report

工作表“Temp”在“A”列中包含10000行 .

工作表“验证报告”包含3列“A”,“B”和“C”,用于错误报告 . 为Sheet“Temp”中存在的空单元格值填充错误行 . 列'A'包含'表的名称'Temp'',列'B'包含表单“Temp”的空单元格的值,带有指向相应单元格的超链接,列'C'包含错误消息 .

我正在使用以下宏来检测工作表“Temp”中的空单元格,并在工作表“验证报告”中显示这些单元格的错误消息,并提供指向“Temp”工作表的相应单元格的超链接 .

Dim validationErrors(1 To 20000, 1 To 3) As Variant
Dim hyperlinkSubaddress(1 To 20000) As Variant
dat = Range("A1:A10000").Value

validationSheetStartRow = 0
c = 1

startTime = Timer

Do While (c < 10000)

    num = dat(c, 1)

    errorMsg = "Value is not present."
    If (IsEmpty(Sheets("Temp").Cells(c, 1))) Then
        validationSheetStartRow = validationSheetStartRow + 1
        validationErrors(validationSheetStartRow, 1) = "Temp"
        validationErrors(validationSheetStartRow, 2) = num
        validationErrors(validationSheetStartRow, 3) = errorMsg
        hyperlinkSubaddress(validationSheetStartRow) = "Temp!" & Sheets("Temp").Cells(c, 1).Address
    End If

    c = c + 1
Loop


Sheets(validationErrorSheet).Range("A1:C" & validationSheetStartRow) = validationErrors
Sheets(validationErrorSheet).Range("A1:A" & validationSheetStartRow).Hyperlink.SubAddress = hyperlinkSubaddress

endTime = Timer

MsgBox endTime - startTime

编写上面代码中的以下行来设置超链接的子地址:

Sheets(validationErrorSheet).Range("A1:A" & validationSheetStartRow).Hyperlink.SubAddress = hyperlinkSubaddress

它给出以下错误:

运行时错误'438':对象不支持此属性或方法

有没有办法我们可以快速地将超链接设置为范围?