首页 文章

VBA将单元格复制到其中单元格具有相同值的另一个工作表

提问于
浏览
0

我有两个工作表,我正在使用长序列号作为单元格值 . 一张(Sheet1)有一个超链接到引用该项目的网页的每个序列号的列表 . 此列表的范围为A1:A31 .

第二张表(Sheet2)有相同序列号的大量列表,但在G1:G102范围内 . 不同之处在于此列表没有超链接,序列号有时会多次显示 . 还有一些区域的单元格是空白的,因此它会分割连续的数据列 .

我本质上想写一个宏,它接受Sheet1中的第一个列表,并且对于每个单元格,它将它与Sheet2列G中的每个单元格进行比较 . 然后,如果值匹配,我想从Sheet 1复制超链接单元格并将其粘贴到Sheet2中具有相同值的单元格中 . 因此,Sheet2列G现在具有完整填充的超链接序列号列表 .

谁能帮我这个?这是我到目前为止......似乎没有用:

Sub CopyHyperlinks()

Dim cell As Excel.Range
Dim myRange As Excel.Range
Dim newRange As Excel.Range

Set myRange = Excel.ThisWorkbook.Sheets("Contents").Range("A1:A31")
Set newRange = Excel.ThisWorkbook.Sheets("Sheet1").Range("G1:G102")

For Each cell In myRange
    If myRange.Cells.Value = newRange.Cells.Value Then newRange.Cells.Value = myRange.Cells.Value
Next cell

End Sub'

1 回答

  • 0

    this little function . 把这个:

    Function GetHyperLinkAddress(rng As Range) As String
    Dim hl As Hyperlink
    For Each hl In rng.Parent.Hyperlinks
        If hl.Range.Address = rng.Address Then
            GetHyperLinkAddress = hl.Address
            Exit Function
        End If
    Next hl
    GetHyperLinkAddress = "Not Found"
    End Function
    

    在一个模块中 . 在电子表格中,添加

    =GetHyperLinkAddress(Cell#)
    

    带有超链接的单元格旁边 . 然后你可以使用vlookup来匹配 .

相关问题