[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『VBA 複数のシートのデータを1つにまとめたい』(しげ)
各シートの構成は
シート5・・・データ1
シート6・・・データ2
シート7・・・データ3
シート8・・・データ4
シート9・・・全データ
シート5〜8のデータは5000行前後で固定していません。
行は1行目に項目、2行目以降がデータが入力されます。
列はA〜V列まで使用していて、シート5〜9すべて行・列共に同じ構成です。
シート9(全データ)にシート5〜8(データ1〜4)のデータ(2行目〜N行)をコピペしたいです。(シート5〜8はデータがない場合もあります)
よろしくお願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
しげさん、こんにちは。
VBAではありません。 データが連続しているなら以下の作業を4回繰り返してできないでしょうか?
シート5から8で行う操作 1.データが記録されているか目視し、記録されていたら2に進む。 2.データの範囲内で[Ctrl]キーと[Shift]キーを押しながら[*]キーを押す。 3.[Ctrl]キーを押しながら[C]キーを押す。 4.シート9を選択する。
シート9で行う操作 5.名前ボックスに A1048576 と入力して[Enter]キーを押す。 6.[Ctrl]キーを押しながら[↑]キーを押す。 7.[↓]キーを押す。 8.[Ctrl]キーを押しながら[V]キーを押す。 9.アクティブセル(項目名)のある行番号を右クリックする。 10.ショートカットメニューから「削除」をクリックする。 11.1.に戻る。 (OtenkiAme) 2015/06/24(水) 13:05
ありがとうございます。
でもVBAでやりたいんですよね。。。
ちょっと訂正(14:35)
一例です。
Sub Test() Dim fsh As Worksheet Dim tSh As Worksheet
Application.ScreenUpdating = False
Set tSh = Worksheets("Sheet9") 'Sheet9の2行目以降をクリア If tSh.UsedRange.Rows.Count > 1 Then tSh.UsedRange.Offset(1).ClearContents
For Each fsh In Worksheets(Array("Sheet5", "Sheet6", "Sheet7", "Sheet8")) 'データ行があるシートのみ実行 If fsh.UsedRange.Rows.Count > 1 Then fsh.UsedRange.Columns("A:N").Offset(1).Copy tSh.Range("A" & tSh.Rows.Count).End(xlUp).Offset(1) Next
tSh.Select
End Sub
(β) 2015/06/24(水) 14:32
ありがとうございます。
無事完成しました!
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.