【发布时间】:2018-10-11 13:36:28
【问题描述】:
你能帮我制作一个 VBA 脚本,它将搜索 Sheet1 H:H 列中的值单元格(每一行都有数据),如果它在 Sheet 2 H:H 中找到值,它将从工作表 1 复制偏移量 -6 和在工作表 2 中粘贴偏移量 -6。
如果它没有找到任何东西,它会告诉我它没有找到哪些值。
这就是我目前所拥有的,工作但不是最优的,首先我没有得到“未找到”值的信息,如果没有找到,它只会覆盖并复制该项目。
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim oCell As Range
Dim i As Long
i = 2
Set ws1 = ThisWorkbook.Sheets("Data")
Set ws2 = ThisWorkbook.Sheets("Mellomlagring")
Do While ws1.Cells(i, 1).Value <> ""
Set oCell = ws2.Range("H:H").Find(what:=ws1.Cells(i, 8))
If Not oCell Is Nothing Then ws1.Cells(i, 2) = oCell.Offset(0, -6)
i = i + 1
Loop
Set ws1 = Nothing
Set ws2 = Nothing
感谢您的帮助
【问题讨论】:
-
老实说,到目前为止看起来还不错。我不确定为什么它会在搜索后覆盖任何内容...
-
如果您愿意,您可以在
If语句中添加Else以在oCell为Nothing时将"Not Found"或其他内容添加到ws1.Cells(i, 2)中
标签: excel vba copy match offset