将数据粘贴到input表的最后一行

我创build一个macros从几个工作表中的几列中提取数据,并将所有数据组织成一张表。

我有的代码是:

Private Sub Update_Click() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Dim path As String, fileName As String Dim lastRowInput As Long, lastRowOutput As Long, rowCntr As Long, lastColumn As Long Dim inputWS1 As Worksheet, inputWS2 As Worksheet, outputWS As Worksheet 'set your sheets here Set inputWS1 = ThisWorkbook.Sheets("Universal") Set inputWS2 = ThisWorkbook.Sheets("Geovera") Set outputWS = ThisWorkbook.Sheets("Carriers") rowCntr = 1 'get last rows from both sheets lastRowUniversal = inputWS1.Cells(Rows.Count, "A").End(xlUp).Row lastRowGeovera = inputWS2.Cells(Rows.Count, "F").End(xlUp).Row LastRowPolicy = outputWS.Cells(Rows.Count, "B").End(xlUp).Row + 1 lastRowOutput = outputWS.Cells(Rows.Count, "A").End(xlUp).Row lastColumn = inputWS1.Cells(1, Columns.Count).End(xlToLeft).Column 'Universal inputWS1.Range("A4:A" & lastRowUniversal).Copy outputWS.Range("B2") inputWS1.Range("B4:B" & lastRowUniversal).Copy outputWS.Range("C2") outputWS.Range("E2:E" & (lastRowUniversal - 2)).Value = inputWS1.Name inputWS1.Range("J4:J" & lastRowUniversal).Copy outputWS.Range("G2") outputWS.Range("G2:G" & (lastRowUniversal - 2)).Value = Evaluate("=IF(ISNUMBER(G2:G" & (lastRowUniversal - 2) & "),DATE(YEAR(G2:G" & (lastRowUniversal - 2) & ")-1,MONTH(G2:G" & (lastRowUniversal - 2) & "),DAY(G2:G" & lastRowUniversal & ")),G2:G" & (lastRowUniversal - 2) & ")") inputWS1.Range("G4:G" & lastRowUniversal).Copy outputWS.Range("H2") 'Geovera inputWS2.Range("F2:F" & lastRowOutput).Copy outputWS.Range("B65536").End(xlUp).Row Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic End Sub 

我完成了将一个工作表迁移到组织主工作表的工作。

当我开始设置第二张纸,我注意到它覆盖了第一张纸上的数据。 我想要一个代码将数据粘贴在行的第一个空白处。

我的错误是在这一行:

 inputWS2.Range("F2:F" & lastRowOutput).Copy outputWS.Range("B65536").End(xlUp).Row 

仍然不存在。 但是我希望列F中的数据移动到主表中的B列,而不删除我已经复制到前一张表上的内容。

请帮忙

代替

 inputWS2.Range("F2:F" & lastRowOutput).Copy outputWS.Range("B65536").End(xlUp).Row 

尝试

 inputWS2.Range("F2:F" & lastRowGeovera).Copy outputWS.Range("B" & lastRowUniversal - 1)