VBA宏将表单复制并粘贴到新工作簿中
我每天都会做一个报表,我必须将几张表复制并粘贴到名为Report(今天的日期)的新工作簿中。VBA宏将表单复制并粘贴到新工作簿中
在我的报告中,我有4张:客户,订单,国家,ID。
客户和国家是从主文件中简单复制和粘贴的,但订单和ID是从主文件中的一张我的工作表中过滤的数据。订单被过滤到“完成” ID是除了ID 200的一切,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
不知道你的过滤片如何设置,但这种方法会复制你的主人张他们究竟如何目前过滤到一个新的工作簿:
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
嗨,非常感谢你的这个工作完美,但是有什么办法可以告诉宏来过滤数据吗?我的数据设置在表格中,因此过滤器只是您的基本过滤器。每天我都要过滤订单(刚才我已经有一个过滤标题),然后复制并粘贴到一张新表中,然后我将过滤除ID为200和500以外的所有标识为ID的列。如果有任何方法可以做到这一点,将不胜感激,并感谢您的帮助! – GrandeurH
我需要查看一些示例数据,并知道哪些来自主数据表正被过滤/复制到报表中的哪个位置 –
你能向我们展示你一直在使用的代码吗? – Slaqr
我道歉,我想我的贴吧 – GrandeurH
子CopyInNewWB() “已经过测试 昏暗newWS,WS作为工作表 Application.ScreenUpdating =假 集WS = ThisWorkbook.Sheets( “工作表Sheet1”) 设置newWS = Workbooks.Add .Sheets(“工作表Sheet1”) WS.Cells.Copy newWS.Cells.PasteSpecial xlValues Application.CutCopyMode =假 Application.ScreenUpdating =真 结束小组 – GrandeurH