编辑ExcelmacrosVBA使其填充列C和右侧,而不是列A

我目前使用macros下面的Excel来将数据从一个表单移动到另一个表单。 它被设置为从第2行向下填充,只要行是空的。 我不希望它已经包含在列2和3的数据。我已经尝试了一些东西,没有很多运气。 我对此很陌生,“修正”了别人的macros观。

Sub MergeSheets() Sheets("New").Activate LastRowNew = Application.WorksheetFunction.CountA(Columns(1)) For i = 2 To LastRowNew OrderNumber = Cells(i, 3) Sheets("PRIOrders").Activate LastRowPRI = Application.WorksheetFunction.CountA(Columns(1)) For j = 2 To LastRowPRI If Cells(j, 3) = OrderNumber Then Exit For ElseIf j = LastRowPRI Then Sheets("New").Rows(i).Copy Destination:=Sheets("PRIOrders").Rows(LastRowPRI + 1) Sheets("PRIOrders").Rows(2).Copy Sheets("PRIOrders").PasteSpecial xlPasteFormats End If Next Sheets("New").Activate Next 

 Sub MergeSheets() Dim shtNew As Worksheet, shtOrders As Worksheet Dim rngOrder As Range, rngNewOrders As Range Dim f As Range, lastRow As Long Set shtNew = ActiveWorkbook.Sheets("New") Set rngNewOrders = shtNew.Range(shtNew.Range("C2"), _ shtNew.Cells(Rows.Count, 3).End(xlUp)) Set shtOrders = ActiveWorkbook.Sheets("PRIOrders") For Each rngOrder In rngNewOrders.Cells Set f = shtOrders.Columns(3).Find(Trim(rngOrder.Value), , xlValues, xlWhole) If f Is Nothing Then 'find the last occupied row in Col B or C lastRow = Application.Max(shtOrders.Cells(Rows.Count, 2).End(xlUp).Row, _ shtOrders.Cells(Rows.Count, 3).End(xlUp).Row) rngOrder.EntireRow.Copy shtOrders.Cells(lastRow + 1, 1) End If Next rngOrder End Sub