我试图弄清楚如何编写比较代码。我有两个工作表,sheet1和sheet2。
在sheet1中,A列中的ID编号为五位数字,在sheet2中,C列中的ID编号具有相同的五位数字,但是在sheet2中,ID号与sheet1中的A列的行不同,是不同的行。 >
我正在尝试找出如何在sheet1列A中进行比较以在sheet2列B中的ANY行中搜索匹配项,然后将值从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
答案 0 :(得分:-1)
您发布的代码同时具有语法错误和逻辑错误,我不确定您到底想做什么。您可以张贴工作簿示例吗? 我用代码中的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