从一个Cell检索超链接以在另一个Cell中设置

时间:2018-02-08 01:43:59

标签: excel vba excel-vba hyperlink

晚安,

我希望从一个工作表中的一个单元格中检索超链接,以将其添加到另一个工作表中的另一个单元格。以下是代码的摘录:

 comment_date = .Cells(row, 3)
 comment_name1 = .Cells(row, col_comments)
 comment1 = .Cells(row, col_comments + 1)
 comment_link1 = .Cells(row, col_comments + 1).Hyperlinks(1).Address
 MsgBox ("Link 1: " & comment_link1)
 If (Len(comment_name1) > 0 And Len(comment1) > 0) Then
      row_new = row_new + 2
      comment_sheet.Cells(row_new, 2).Value = comment_date
      comment_sheet.Cells(row_new, 3).Value = comment_name1
      comment_sheet.Cells(row_new, 4).Value = comment1
      comment_sheet.Hyperlinks.Add Range(comment_sheet.Cells(row_new, 4).Address), comment_link1
 End If

VBA不喜欢代码行

comment_link1 = .Cells(row, col_comments + 1).Hyperlinks(1).Address

检索单元格的超链接的正确方法是什么.Cells(row,col_comments + 1)?

要将超链接添加到新工作表中的新单元格,这是正确的吗?

comment_sheet.Hyperlinks.Add Range(comment_sheet.Cells(row_new, 4).Address), comment_link1

这似乎将超链接放在目标表中的随机位置。

感谢。

1 个答案:

答案 0 :(得分:0)

超链接链接到的地址位于SubAddress,而不是Address。单元格中显示的文本保存在TextToDisplay

所以使用

comment_sheet.Hyperlinks.Add _
  Anchor:=comment_sheet.Cells(row_new, 4), _
  Address:="", _
  SubAddress:=.Cells(row, col_comments + 1).Hyperlinks(1).SubAddress, _
  TextToDisplay:=.Cells(row, col_comments + 1).Hyperlinks(1).TextToDisplay