在另一张纸上填写序列号

我有一个macros将一个Excel工作表(ExcelA)中的所有使用的行复制到另一个(ExcelB):

Sub CopyFromOneXL() Dim myBook As Workbook, newBook As Workbook Set myBook = ThisWorkbook Set lRowMyBook = Range("A1").SpecialCells(xlCellTypeLastCell) Set newBook = Workbooks.Open("C:\Users\user\Desktop\EXCEL\ExcelB.xlsx") newBook.Activate Set lRowNewBook = Sheets("Sheet1").Range("A1").SpecialCells(xlCellTypeLastCell) lastRowNewBook = lRowNewBook.Row lastRowMyBook = lRowMyBook.Row lastRowNewBook = lastRowNewBook + 1 With newBook myBook.Sheets("Sheet1").Rows("1:" & lastRowMyBook).Copy .Sheets("Sheet1").Rows(lastRowNewBook) .Close savechanges:=True End With End Sub 

ExcelB已经使用了十行(从1-10的序列号),我正在使用上面的macros添加三行数据(这是在ExcelA中)。 有没有办法将序列号添加到ExcelB的三个新增行,从11开始?

在两个表中的行数可以有所不同,但最终我想添加序列号到ExcelB从中断的地方开始。

OP想索引增量条目,方便的是索引号与用不同工作表中的代码复制的条目的行号相匹配。 在代码中添加这样一个索引来复制增量,而不是在复制增量的代码中添加一个循环,而是为其添加一个公式( =ROW() )到源代码片中,然后自动与现有代码一起复制。

当我添加下面的代码,它的工作。

 With newBook myBook.Sheets("Sheet1").Rows("1:" & lastRowMyBook).Copy .Sheets("Sheet1").Rows(lastRowNewBook) Set newLRowNewBook = Sheets("Sheet1").Range("A1").SpecialCells(xlCellTypeLastCell) newLastRowNB = newLRowNewBook.Row 'MsgBox newLastRowNB For i = lastRowNewBook To newLastRowNB Cells(i, 1).Formula = "=Row()" Next .Close savechanges:=True End With 

如果有1000行,macros需要一些时间才能运行。 只是想知道是否有任何其他方式来实现这一点,而不使用For循环。

谢谢。