首页 文章

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

提问于
浏览
0

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

1 回答

  • 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
    

相关问题