在另一张纸中查找值,复印偏移(旧纸),粘贴偏移(新纸)

时间:2018-10-04 10:38:50

标签: excel vba

我想知道您是否可以帮助我构建执行以下操作的VBA脚本:

搜索从sheet1的C列中获取的值,并在C列的sheet2中找到它,将值复制到B列的sheet1中(偏移量),并将其粘贴到将发现C值到B列(偏移量)的同一行中< / p>

请记住,数据在两侧都按同一行排序,因此我需要使用Find函数。

它需要循环运行,直到在sheet1中完成最后一行(搜索了所有行并从sheet1复制了值,然后将值粘贴到sheet2)

非常感谢您的帮助

3 个答案:

答案 0 :(得分:0)

Sheet1

Sheet2

如您所见,Sheet1包含一些注释,而sheet2不包含注释,而且sheet2包含更多行,且具有一些不同的值。

我希望能够使程序在Sheet2中找到Item1列,并将工作表1中的注释添加到工作表2中。

答案 1 :(得分:0)

在sheet2的b列上使用此公式应该有效

=INDIRECT(ADDRESS(MATCH(C2;Sheet1!$C:$C);2;1;1;"Sheet1"))

答案 2 :(得分:0)

我要感谢您的贡献,我终于使它成功了。 我找到了这个脚本(很抱歉,谁拥有它,并根据自己的需要对其进行了修改)

Sub test()


Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim oCell As Range


Dim i As Long
i = 2

Set ws1 = ThisWorkbook.Sheets("Data New")
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
End Sub