我每天都做一份报告,其中我必须将几张工作表复制并粘贴到一个名为“报告(今天的日期)”的新工作簿中。
在我的报告中,我有4张表: Customers、Orders、Country、ID。
Customer和Country是从主文件中复制和粘贴的简单内容,但Orders和ID是从主文件中我的一个工作表中筛选出来的数据。订单被过滤为"Complete“,Id是除ID200和500之外的所有内容。
我尝试基于这里提供的解决方案构建宏:http://www.hivmr.com/db/ack717pc8f88jpdsf7838pcaspkcsdmd
复制和粘贴工作正常,但我无法复制和粘贴多张图纸/重命名图纸和过滤数据。
编辑:
Sub CopyInNewWB()
'has been tested
Dim newWS, WS As Worksheet
Application.ScreenUpdating = False
Set WS = ThisWorkbook.Sheets("Sheet1")
Set newWS = Workbooks.Add.Sheets("Sheet1")
WS.Cells.Copy
newWS.Cells.PasteSpecial xlValues Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
发布于 2017-08-29 04:00:34
不知道筛选的工作表是如何设置的,但此方法会将母版中的工作表完全按照当前筛选的方式复制到新的工作簿中:
Sub CopyInNewWB()
Dim wbO As Workbook, wbN As Workbook
On Error GoTo ErrHandler
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
Application.DisplayAlerts = False
Set wbO = ActiveWorkbook
Set wbN = Workbooks.Add
wbO.Sheets("Customers").Copy wbN.Sheets(1)
wbO.Sheets("Orders").Copy wbN.Sheets(2)
wbO.Sheets("Country").Copy wbN.Sheets(3)
wbO.Sheets("ID").Copy wbN.Sheets(4)
wbN.Sheets("Sheet1").Delete
wbN.Sheets("Customers").Activate
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.DisplayAlerts = True
ErrHandler:
Application.ScreenUpdating = True
Application.Calculation = xlCalculationAutomatic
Application.DisplayAlerts = True
End Sub
https://stackoverflow.com/questions/45920991
复制相似问题