- ベストアンサー
Excelのシートを集約したいのですが。。。
EXCELにて、複数のシートを1シートに集約したいのですが、 どうすればいいでしょうか? Sheet1からSheet10ぐらいの量だったので、範囲を指示してコピー&ペーストしていたのですが。。。 Sheet1からSheet50の量になると大変で困ってます。 1シートには印刷で1ページ分のデータが入っています。 Sheet1の内容の下にSheet2の内容を、その下にSheet3の内容という様にコピーしたいです。 何か、簡単なマクロ等有りましたら、教えてください。 VBAは使用した事がないのでよくわかりません。 よろしくお願いします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
空きシートがあるとエラーになりますので、こちらを使ってください。 空きシートを無視して次に行きます。 Sub 集約() Dim Rw As Long Dim Sh As Integer Sheets(1).Select For Sh = 2 To Sheets.Count Rw = Range("A65536").End(xlUp).Row + 1 ' 1行ずつ空けるときは +2 Sheets(Sh).Select If Range("A65536").End(xlUp).Row > 3 Then Rows(4).Resize(Range("A65536").End(xlUp).Row - 3).Copy Sheets(1).Select Rows(Rw).Select Selection.Insert Shift:=xlDown End If Next Application.CutCopyMode = False Sheets(1).Select Range("A1").Select End Sub
その他の回答 (3)
- ja7awu
- ベストアンサー率62% (292/464)
> 実はそれぞれのシートにタイトル部分があるのですが、 > それを含まない部分だけコピーする様に出来ますか? もちろん出来ますよ。 タイトル3行無視ですね。 Sub 集約() Dim Rw As Long Dim Sh As Integer Sheets(1).Select For Sh = 2 To Sheets.Count Rw = Range("A65536").End(xlUp).Row + 1 ' 1行ずつ空けるときは +2 Sheets(Sh).Select Rows(4).Resize(Range("A65536").End(xlUp).Row - 3).Copy Sheets(1).Select Rows(Rw).Select Selection.Insert Shift:=xlDown Next Application.CutCopyMode = False Range("A1").Select End Sub
- ja7awu
- ベストアンサー率62% (292/464)
> EXCELにて、複数のシートを1シートに集約したいのですが、 > どうすればいいでしょうか? 次のマクロを実行すると一番左側のシートに集約になります。 一応、コードの設定方法を書いておきます。 Alt + F11 で、メニューから[挿入]-->[標準モジュール]で表示された コードウィンドウに下記コードをコピーして貼り付けます。 Alt + Q でシートに戻り、メニューから[ツール]-->[マクロ]-->[マクロ]で 「集約」を選択し、[OK]すれば、集約 になります。 Sub 集約() Dim Rw As Long Dim Sh As Integer Sheets(1).Select For Sh = 2 To Sheets.Count Rw = Range("A65536").End(xlUp).Row + 1 ' 1行ずつ空けるときは + 2 Sheets(Sh).Select Rows(1).Resize(Range("A65536").End(xlUp).Row).Copy Sheets(1).Select Rows(Rw).Select Selection.Insert Shift:=xlDown Next Application.CutCopyMode = False Range("A1").Select End Sub Range("A1").Select End Sub
補足
ありがとうございます。 出来ました。とても嬉しいです。 範囲を指定してコピーしていた事が、あっという間に出来るんですね。 ja7awuさん、実はそれぞれのシートにタイトル部分があるのですが、 それを含まない部分だけコピーする様に出来ますか? タイトルは、それぞれのシートの上から3行を使用しています。 お願いします。
- cyobin_man
- ベストアンサー率24% (298/1216)
>複数のシートを1シートに集約 これは 複数のファイルとして保管してあるものを 1つのファイルの中の 複数のシートとして 保存したいということでしょうか? 簡単ですが 労力を使う方法として 新ファイル(50シート重ねるほうを開いておいて) 1枚のみのファイル(移動される側)を開いて タブ(新規だとsheet1となっているところ)をドラックして 新ファイルの上に重ねてやれば 移動してくれます。 こんなんでいいのかな?
補足
早い回答ありがとうございます。 複数のシートと言うのは、同じBook内にあるシートです。 1Book内のシートの内容をすべてSheet1内に集めたいのです。 1BookにSheet1からSheet10まであるものを、1bookのSheet1内にまとめたいのです。よろしくお願いします。
お礼
本当に親切にありがとうございます。 とても、簡単に作業が進むので嬉しいです。 助かりました。 また、なにか有った時にはよろしくお願いします。