我有两个工作簿(或2张):工作簿A和B.工作簿我 要比较: 列B和C在工作簿中的WITH 工作簿B中的列A和B 如果找到匹配然后 我需要复制工作簿B中的MATCHED行并将其粘贴到工作簿A上的MATCHED行。换句话说:我需要复制单元格的值工作簿B的匹配行的列C和D到工作簿A中匹配行的列D和E的单元格上。比较在2个工作簿2列,复制匹配的行,如果发现匹配
我到目前为止的内容只有比较我希望是正确的2列。 下面的代码为2张,而不是两个工作簿:
Sub compareNcopy()
Dim sh1 As Worksheet, sh2 As Worksheet, sh3 As Worksheet
Set sh1 = Sheets("Sheet1"): Set sh2 = Sheets(2): Set sh3 = Sheets(3)
Dim i As Long, j As Long,
Dim lr1 As Long, lr2 As Long
Dim nxtRow As Long
Dim rng1 As Range, rng2 As Range, rng3 As Range
lr1 = sh1.Range("A" & Rows.Count).End(xlUp).Row
lr2 = sh2.Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To lr1
Set rng1 = sh1.Range("A" & i)
For j = 1 To lr2
Set rng2 = sh2.Range("A" & j)
If StrComp(CStr(rng1.Value), CStr(rng2.Value), vbTextCompare) = 0 Then
If rng1.Offset(0, 1).Value = rng2.Offset(0, 1).Value Then
End If
End If
Set rng2 = Nothing
Next j
Set rng1 = Nothing
Next i
End Sub
帮助将不胜感激。
感谢您的回复。我添加了你建议的行,但它给了我一个“不匹配的运行时错误:13”的任何想法,为什么?我更改了代码以比较列: 表(sh2).Cells(j,3).Resize(1,2).Copy Destination:= Sheets(sh1).Cells(i,4).Resize(1, 2) – user3720702
@ user3720702现在已修复,对此感到遗憾。 – JRLambert
工作!谢谢! – user3720702