Excel活动工作表行数反映了以前的活动工作表

我已经导入一个csv文件到工作表(4)。 我想select所有行并将它们复制到工作表(3)。 我想将表(3)中的行放在表(4)上的行之后。 当我尝试获取表(3)上使用的总行数“TotalRows”时,我得到了表(4)上导入的行数。 原因是如果我有第五张(5)。 我会把它们放在表单(3)的最后一行。

For i = 4 To intNumberofSheets CurrentWorkbook.Sheets(i).Activate 'select the sheet 'get the range to copy Set RangeToCopy = CurrentWorkbook.Sheets(i).Range(Range("A1"), _ Range("O1").End(xlDown)) CurrentWorkbook.Worksheets(3).Activate 'activate sheet3 TotalRows = Sheets(3).UsedRange.Rows.Count ' get used row count TotalRows = TotalRows + 1 ' increment row by 1 ColumnLetterNumber = "A" & TotalRows ' A for column & last row RangeToCopy.AdvancedFilter Action:=xlFilterCopy, _ CopyToRange:=Sheets("sheet3").Range(ColumnLetterNumber) Next 

你为什么不尝试更简单,更明确。 HTH。

 Dim ws As Worksheet, tws As Worksheet Set tws = CurrentWorkbook.Sheets("Sheet3") For Each ws In CurrentWorkbook If ws.Name <> "Sheet3" Then ws.UsedRange.Copy tws.Range("A" & tws.Rows.Count).End(xlUp).Offset(1, 0) End If Next