【发布时间】:2021-08-25 17:02:58
【问题描述】:
我有 2 个 Excel 工作表(工作表 A 和工作表 B)。它们具有相同的列标题。名为“ID”的列之一在两个工作表中具有相同的值。此外,“ID”是一个在工作表中从不重复的唯一编号。
我正在尝试制作一个 VBA 脚本来比较 2 个工作表的 2 个 ID 列。如果两个工作表之间特定行的 ID 相同,它将将该行的其余内容从 B 复制到 A 中存在 ID 的行上。
这是 2 个 excel 内容的示例(抱歉,我无法将图片上传到 stackoverflow):
Worksheet A:
ID Color Make Build
A5 red toyota corolla
7 blue nissan blah
3 red blahblah bloo
6 blue toyota corolla
9 red nissan blah
54 blue blahblah bloo
987 red nissan blah
432432 white car car
Worksheet B:
ID Color Make Build
3 green blahblah bloo
6 blue toyota corolla
A5 red toyota corolla
7 blue nissan SUPERCAR
9 yellow Tesla blah
54 blue blahblah bloo
987 red nissan blah
对于此示例,如果 ID 相同,我尝试将颜色/制作/构建单元格从工作表 B 复制到 A。
例如,工作表 A 的第 3 行将变为: 7蓝色日产SUPERCAR
这是我到目前为止所拥有的(这是一般的想法,但我不熟悉使这项工作的正确语法):
Private Sub CommandButton_Click()
Dim A As Worksheet, B As Worksheet, ID As Long
Set A = Sheets("Sheet1")
Set B = Sheets("Sheet2")
For i = 2 to 8
For j = 2 to 8
If A.Cells(i,1) = B.Cells(j,1)
Then
A.Cells(i,2) = B.Cells(j,2)
A.Cells(i,3) = B.Cells(j,3)
A.Cells(i,4) = B.Cells(j,4)
Else
Continue
Next j
Next i
End Sub
【问题讨论】: