macros复制工作表,而不考虑工作表名称?

我将大量信息导出到.csv文件,然后下载/打开进行操作。 每个导出按顺序编号(如导出(22).csv,导出(23).csv等,因此工作表也被赋予相同的名称/编号。

对于我打开的每个.csv文件,我想要一个macros来做一个快速的filter,计数和复制,以便我可以保留一个完整的工作表,然后再处理第二个工作表。 在我的macros中,我有:

Sub Export() ' ' Export Macro ' ' Range("A1").Select Selection.AutoFilter Rows("2:2").Select ActiveWindow.FreezePanes = True Range("A1").Select Selection.End(xlDown).Select Range("A6").Select ActiveCell.FormulaR1C1 = "=SUBTOTAL(3,R[-4]C:R[-1]C)" Range("A7").Select Selection.End(xlUp).Select Selection.End(xlUp).Select Range("A2").Select Sheets("export (87).csv").Select Sheets("export (87).csv").Copy After:=Sheets(1) Range("A1").Select End Sub 

这一切正常导出(87).csv工作正常,但对下一个文件导出(88).csv失败。

如何让macrosselect第一张纸并复制到最后,而不考虑纸张名称?

我曾尝试使用:

 Sheets("Sheet1").Select Sheets("Sheet1").Copy After:=Sheets(1) Sheets("Sheets1").Select Sheets("Sheets1").Copy After:=Sheets(1) 

我得到一个RT错误9和

 Sheets(Sheet1).Select Sheets(Sheet1).Copy After:=Sheets(1) 

我得到一个RT错误13

提前感谢…

这部分是造成错误

 Sheets(Sheet1).Select Sheets(Sheet1).Copy After:=Sheets(1) 

正确的语法是:

 Activeworkbook.Worksheets(1).Activate ActiveSheet.Copy After:=ActiveSheet 

编辑:更改代码,以便它不使用工作表的名称