我是vba的新手,需要找到一种基于匹配值在工作表之间复制某些单元格的方法。在sheet1中,列A是缩写名称列表。我需要在第2页D列中搜索任何匹配项。如果找到匹配项,请复制工作表2的A,B和C中的单元格并将其粘贴到工作表1中的相应位置。
答案 0 :(得分:1)
我也相信最简单的方法是使用vlookup。 也可能更快...... 如果你愿意,你可以使用这样的东西。 但是没有检查过。
Sub CopyBasedonSheet1()
Dim i As Long
Dim j As Long
Sheet1LastRow = Worksheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
Sheet2LastRow = Worksheets("Sheet2").Range("D" & Rows.Count).End(xlUp).Row
For j = 1 To Sheet1LastRow
For i = 1 To Sheet2LastRow
If Worksheets("Sheet1").Cells(j, 1).Value = Worksheets("Sheet2").Cells(i, 4).Value Then
Worksheets("Sheet1").Cells(j, 2).Value = Worksheets("Sheet2").Cells(i, 1).Value
Worksheets("Sheet1").Cells(j, 3).Value = Worksheets("Sheet2").Cells(i, 2).Value
Worksheets("Sheet1").Cells(j, 4).Value = Worksheets("Sheet2").Cells(i, 3).Value
Else
End If
Next i
Next j
End Sub