【发布时间】:2015-02-24 03:55:12
【问题描述】:
我有两个工作簿(或 2 张工作表):工作簿 A 和工作簿 B。 我想比较: 工作簿 A WITH 中的 B 列和 C 列 工作簿 B 中的 A 列和 B 列 如果找到匹配项 THEN 我需要从工作簿 B 复制 MATCHED 行并将其粘贴到工作簿 A 上的 MATCHED 行。 换句话说:我需要将工作簿 B 的匹配行的 C 列和 D 列的单元格值复制到工作簿 A 匹配行的 D 列和 E 列的单元格中。
到目前为止我所拥有的只有比较了我希望是正确的两列。 下面的代码适用于 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
我们将不胜感激。
【问题讨论】: