我上周左右一直在研究VBA代码,并且可以从我需要的结果中获得大约5%的代码。
我有2个工作表:
Sheet1 - 其中包含E:E中的数据列表 Sheet2 - 其中包含G2:G中的数据列表 两个列表在列表中都有匹配的值。
我要做的是检查sheet1中的每个单元格是否在sheet2中,如果是,则将该行中的数据复制并粘贴到sheet2匹配值的相对行中。这一点,我可以做........我在努力的地方是当我在sheet1中有一个值但在sheet2中有多个值。我只想在一次匹配中复制和粘贴数据,但它会将信息复制并粘贴到两个匹配项中。同样,如果我在sheet1中有2个值,但在sheet2中只有一个值,则它会覆盖信息。
下面我展示了我正在使用的代码。
Sub FillinAlegs()
Application.ScreenUpdating = False
Dim names As Range, name As Range, values As Range, value As Range, rng As Range
Set values = Worksheets("Sheet1").Range("E1:E" & Worksheets("Sheet1").Range("E" & Rows.Count).End(xlUp).Row) '
Set names = Worksheets("Sheet2").Range("G2:G" & Worksheets("Sheet2").Range("G" & Rows.Count).End(xlUp).Row) '
For Each name In names
For Each value In values
If value.value = name.value Then
Worksheets("Sheet1").Range("A" & value.Row & ":P" & value.Row).Copy Destination:=Worksheets("Sheet2").Range("C" & name.Row & ":R" & name.Row)
End If
Next value
Next name
Application.ScreenUpdating = True
End Sub
请帮帮我。我把头发拉出来!
谢谢