Excel VBA将超级单元格从单元格复制到表格中的列

时间:2017-11-29 09:42:00

标签: excel vba excel-vba hyperlink

我想将源表中的行复制到目标表。应对这些值是没有问题的。

源表中的A列包含指向网站的超链接 我也想复制超链接。

但是这段代码会出错(类型不匹配)。

Sub Copy_Hyperlink()
    Dim ActiveSheet As Worksheet
    Dim ActiveTable As ListObject
    Dim Row_Number As Integer
    Dim Last_Row As Integer
    Dim ActiveRow As ListRow
    Dim Hyperlink As Hyperlink
    Set ActiveSheet = Sheets("Sheet2")
    Set ActiveTable = ActiveSheet.ListObjects("Table1")
    Set ActiveSheet = Sheets("Sheet1")    

    ActiveSheet.Activate
    Last_Row = ActiveSheet.Cells(Cells.Rows.Count, 1).End(xlUp).Row

    For Row_Number = 2 To Last_Row
        Set ActiveRow = ActiveTable.ListRows.Add
        ActiveRow.Range(1, 1).Value = Range("A" & Row_Number).Value
        ActiveRow.Range(1, 2).Value = Range("B" & Row_Number).Value
        ActiveRow.Range(1, 2).Hyperlinks.Add Range _
    ("A" &   Row_Number).Hyperlinks.Item(1).Address
    Next Row_Number
End Sub

1 个答案:

答案 0 :(得分:0)

您的代码存在一些问题,但如果没有解释或回复,我们无法为您提供明确的答案。

我不相信除了添加超链接之外一切正常,但您可以通过注释确认添加超链接并再次运行代码的行。

' ActiveRow.Range(1, 2).Hyperlinks.Add Range("A" & Row_Number ).Hyperlinks.Item(1).Address

如果代码现在运行正常,那么仍然可能存在许多问题。

我假设您可能正在尝试从没有 超链接的单元格中获取超链接(但我不知道,因为您没有分享您的超链接数据。)如果是这样,您可以使用Hyperlinks.Count检查是否有可用的链接。

您肯定错误地使用Hyperlink.Add

了解更多https://msdn.microsoft.com/en-us/vba/excel-vba/articles/hyperlinks-add-method-excel?f=255&MSPPError=-2147217396,然后修改您的问题以添加更多信息。