[英]Copy rows from one worksheet to another based on a unique "ID" column
我有兩個 Excel 工作表(工作表 A 和工作表 B)。
它們具有相同的列標題。
“ID”列之一在兩個工作表中具有相同的值。
“ID”是一個在工作表中從不重復的唯一編號。
我正在嘗試比較兩個工作表的 ID 列。
如果兩個工作表之間特定行的 ID 相同,則將該行內容的 rest 從 B 復制到 A 中存在 ID 的行上。
兩張 Excel 表的示例。
工作表 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
工作表 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 blue nissan 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
嘗試這個:
Private Sub CommandButton_Click()
Dim ws As Worksheet
Dim ws2 As Worksheet
Set ws = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")
Dim a As String
For i = 2 To ws2.Cells(ws2.Rows.Count, 1).End(xlUp).Row
a = ws2.Cells(i, 1).Value
For j = 2 To ws.Cells(ws.Rows.Count, 1).End(xlUp).Row
If ws.Cells(j, 1).Value = a Then
ws.Cells(j, 2).Value = ws2.Cells(i, 2).Value
ws.Cells(j, 3).Value = ws2.Cells(i, 3).Value
ws.Cells(j, 4).Value = ws2.Cells(i, 4).Value
End If
Next j
Next i
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.