• 締切済み

同一フォルダ内のデータを自動的に移動するマクロ

こんなことが可能かわかりませんが、 毎月集計をとっているファイルがあります。 そのファイルは毎月名前がかわるのですが、(2013.05○○ファイル←毎月数がふえていきます。) そのファイルの中にあるシートの数枚(4枚をれぞれに名前がAデータ・Bデータ・Cデータ・Dデータ)を違うファイル(調査ファイル)に値だけを貼り付けたいのです。 月末にデータが完成したら、あるボタンをおしたら2013.05○○ファイルのA・B・C・Dデータを 調査ファイルのデータa・b・c・dデータに値だけを貼り付けたいです。 対象となるのは各シート全体の数値です。 どなた様かご教授くださいませ。 よろしくお願い致します。 そのようなことができるマクロというのはあるのでしょうか。

みんなの回答

回答No.1

こんばんは。 集計ファイルシートのフォーマット、および、コピーされる調査ファイル側のフォーマットがわからないので、外れているかもしれませんが。 以下の前提でコードを作ってみました。 1)データ元の集計ファイル(ファイル名を"集計.xlsx"とする。)は、既に開かれているとする。 2)Aシート~Dシートのデータは、A1セルを含み、空白行・空白列で囲まれた範囲にあるとする。 3)調査シートには、同じ名前のシートを新規作成し、そこにデータをコピーする。 以下コード例です。標準モジュールにコピペして、実行させて下さい。 Sub CopySheetData() Dim wb As Workbook Dim tRow As Long, tCol As Long Dim i As Integer Dim shName As Variant 'シート名定義 shName = Array("Aシート", "Bシート", "Cシート", "Dシート") 'ターゲットブック設定 Set wb = Workbooks("OKW月別.xlsx") Application.ScreenUpdating = False With ThisWorkbook 'シート生成&データコピー For i = 0 To 3 With .Worksheets.Add .Name = shName(i) wb.Activate wb.Sheets(shName(i)).Activate tRow = wb.Sheets(shName(i)).[A1].CurrentRegion.Rows.Count tCol = wb.Sheets(shName(i)).[A1].CurrentRegion.Columns.Count .[A1].Resize(tRow, tCol).Value = wb.Sheets(shName(i)).[A1].CurrentRegion.Value End With Next i End With Application.ScreenUpdating = True Set wb = Nothing End Sub いかがでしょうか?

ASNASNASN
質問者

お礼

ありがとうございました。 たすかりました。