我有sheet2中的船舶数据列表。第一栏是船名,其他栏是船的详细信息。下面一排是另一艘船等。我想要做的是在sheet1中复制一行船舶数据并将其粘贴到sheet2,但是如果sheet2已经拥有那艘船,我希望将sheet2行中的船用从sheet1复制的一行替换。如果复制行的第一列值匹配,覆盖整行粘贴
到目前为止,我从sheet1复制了行并将其粘贴到sheet2的第一个可用空行,然后按字母顺序排序:P。所以我有很多与同一艘船的行。
这里是我的代码:
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Set copySheet = Worksheets("sheet1")
Set pasteSheet = Worksheets("sheet2")
copySheet.Range("A5:AT5").Copy
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Worksheets("sheet2").Activate
Sheets("sheet2").Range("A2").CurrentRegion.Select
Selection.Sort Key1:=Sheets("sheet2").Range("A1"), Order1:=xlAscending, Header:=xlYes, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Set Rng = Nothing
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
你想循环向下穿过Sheet1中列出的所有船只? – Jeremy
不,总是会有一个列出的船在Sheet1中的指定行 – Phyx
完成(请参阅下面) – Jeremy