我已将csv文件导入到sheet(4)。我想选择所有行并将它们复制到sheet(3)。我想在任何使用过的行之后将工作表(3)中的行放在工作表(4)上。当我尝试获得在表(3)" TotalRows"上使用的总行数时我得到了在sheet(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
答案 0 :(得分:1)
为什么不尝试更简单,更明确。 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