2017-08-28 19 views
1

レポート(今日の日付)という新しいブックに複数のシートをコピーして貼り付ける必要があるレポートを毎日作成します。新しいブックにシートをコピーして貼り付けるためのVBAマクロ

私のレポートには、顧客、注文、国、IDの4つのシートがあります。

お客様と国は単純にマスターファイルからコピー&ペーストできますが、オーダーと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 
+0

を作業しているコードを表示できますか? – Slaqr

+0

私の謝罪は、私はそれを掲載思っ – GrandeurH

+0

サブCopyInNewWB() 「テストされてい 薄暗いnewWS、WSワークシートとして Application.ScreenUpdating = Falseの 設定WSの=のThisWorkbook.Sheets( "シート1") 設定newWS = Workbooks.Add .Sheets( "シート1") WS.Cells.Copy newWS.Cells.PasteSpecial xlValues Application.CutCopyMode = Falseの Application.ScreenUpdating = Trueの End Subの – GrandeurH

答えて

0

見当もつかないが、この方法は、彼らが現在、新しいワークブックにフィルタリングされ、正確にどのようにあなたのマスターにシートをコピーします:

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 
+0

こんにちは、これは完全に動作しますが、データをフィルタリングするためにマクロに指示する方法はありますか?私のデータはテーブルに設定されているので、フィルタは基本的なフィルタに過ぎません。私は毎日、オーダーシートをフィルタリングして(これはフィルタであるという見出しを持っています)、コピーして新しいシートに貼り付けてから、200と500以外のすべてのIDにカラムIDをフィルタリングしてフィルタリングします。これを行う方法はありますが、それは大いに感謝し、助けてくれてありがとう! – GrandeurH

+0

私はいくつかのサンプルデータを見て、マスターからのどのシートがフィルタリングされているか/レポートのどこにコピーされているか知る必要があります –

関連する問題