我每天都会做一份报告,我必须将几张纸复制并粘贴到一个名为Report(今天的约会)的新工作簿中。
在我的报告中,我有4张:客户,订单,国家/地区,ID。
客户和国家/地区是主文件中的简单复制和粘贴,但订单和ID是来自主文件中我的一张工作表的过滤数据。订单被过滤到"完成"而ID是ID 200和500以外的所有内容。
我尝试根据此处找到的解决方案构建宏: CPP Rest SDK
复制和粘贴有效,但我无法复制和粘贴多张工作表/重命名工作表并过滤数据。
编辑:
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
答案 0 :(得分:1)
无法确定如何设置过滤后的工作表,但此方法会将主工作表中的工作表完全复制到当前已过滤到新工作簿的方式:
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