如何比较两列并复制 VBA 中的值

how to compare two column and copy the value in VBA

我正在研究如何编写比较代码。我有两张纸,sheet1 和 sheet2。

在 sheet1 中,A 列中有五位 ID 号,在 Sheet2 中,C 列中有相同的五位 ID 号,但在 Sheet2 中,ID 号与 Sheet1 中的 A 列不是同一行,它们是不同的行。

我想弄清楚如何在 sheet1 列 A 中进行比较以在 sheet2 列 B 的任何行中搜索匹配项,然后将值从 sheet2 列 C 中的同一行复制到 sheet1 列 D!

这是我自己的测试代码,但没有用。

Sub FindStuff()

        Dim lr As Long
        Dim i As Integer

lr = Sheet1.Range("A" & Rows.Count).End(xlUp).Row

For i = 1 To lr

If UCase(Sheet2.Cells(1, 3).Value) = UCase(Sheet1.Cells(i, 1).Value) Then
    Sheet2.Cells(14, 5).Value = Sheet1.Cells(i, 1).Offset(, 5).Value
      End If
Next i

End Sub

你post的代码有语法错误和逻辑错误,我不确定你到底想做什么。你能 post 一个工作簿示例吗? 我在代码中用 Vlookup 更改了你的公式,你可以测试并告诉我这是否是你需要的。

Sub MatchValues()
Dim ws1     As Worksheet, ws2 As Worksheet
Dim lr      As Long
Dim r       As Long

Application.ScreenUpdating = False
Set ws1 = Sheets("Sheet1")
Set ws2 = Sheets("Sheet2")
lr = ws2.Cells(Rows.Count, 3).End(xlUp).Row

For r = 2 To lr
On Error Resume Next
Cells(r, 4) = WorksheetFunction.VLookup(ws2.Cells(r, 3).Value, _
ws1.Range("A:A"), 1, 0)
Next

Application.ScreenUpdating = True
End Sub