簡體   English   中英

根據唯一的“ID”列將行從一個工作表復制到另一個工作表

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM