vba在两列的值匹配时复制特定单元格

时间:2014-11-14 15:40:25

标签: excel vba excel-vba

我是vba的新手,需要找到一种基于匹配值在工作表之间复制某些单元格的方法。在sheet1中,列A是缩写名称列表。我需要在第2页D列中搜索任何匹配项。如果找到匹配项,请复制工作表2的A,B和C中的单元格并将其粘贴到工作表1中的相应位置。

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