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

时间:2015-03-06 00:51:30

标签: excel vba excel-vba

我已将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

1 个答案:

答案 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