无论工作表名称如何,都可以复制工作表的宏?
Macro to copy worksheet irrespective of worksheet name?
我将大量信息导出到 .csv 文件,然后 download/open 进行操作。每个导出都按顺序编号(例如导出 (22).csv、导出 (23).csv 等,因此工作 sheet 也被赋予相同的 name/number.
对于我打开的每个 .csv 文件,我想要一个宏来进行快速过滤、计数和复制,以便我可以在操作之前保留一个完整的作品sheet并处理第二个作品sheet。在我的宏中,我有:
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
对于 export (87).csv 这一切都可以正常工作,但对于下一个文件 export (88).csv 则失败。
如何使宏 select 成为第一个 sheet 并复制到最后而不考虑 sheet 名称?
我试过使用:
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
编辑:更改代码,使其不使用 sheet
的名称
我将大量信息导出到 .csv 文件,然后 download/open 进行操作。每个导出都按顺序编号(例如导出 (22).csv、导出 (23).csv 等,因此工作 sheet 也被赋予相同的 name/number.
对于我打开的每个 .csv 文件,我想要一个宏来进行快速过滤、计数和复制,以便我可以在操作之前保留一个完整的作品sheet并处理第二个作品sheet。在我的宏中,我有:
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
对于 export (87).csv 这一切都可以正常工作,但对于下一个文件 export (88).csv 则失败。
如何使宏 select 成为第一个 sheet 并复制到最后而不考虑 sheet 名称?
我试过使用:
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
编辑:更改代码,使其不使用 sheet
的名称