重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

EXCELにて、複数のシートを1シートに集約したいのですが、
どうすればいいでしょうか?
Sheet1からSheet10ぐらいの量だったので、範囲を指示してコピー&ペーストしていたのですが。。。
Sheet1からSheet50の量になると大変で困ってます。
1シートには印刷で1ページ分のデータが入っています。
Sheet1の内容の下にSheet2の内容を、その下にSheet3の内容という様にコピーしたいです。
何か、簡単なマクロ等有りましたら、教えてください。
VBAは使用した事がないのでよくわかりません。
よろしくお願いします。

A 回答 (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
    • good
    • 0
この回答へのお礼

本当に親切にありがとうございます。
とても、簡単に作業が進むので嬉しいです。
助かりました。
また、なにか有った時にはよろしくお願いします。

お礼日時:2003/02/17 19:40

> 実はそれぞれのシートにタイトル部分があるのですが、


> それを含まない部分だけコピーする様に出来ますか?

もちろん出来ますよ。 タイトル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
    • good
    • 0

> 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行を使用しています。
お願いします。

補足日時:2003/02/17 15:58
    • good
    • 0

>複数のシートを1シートに集約


これは 複数のファイルとして保管してあるものを
1つのファイルの中の 複数のシートとして 保存したいということでしょうか?

簡単ですが 労力を使う方法として
新ファイル(50シート重ねるほうを開いておいて)
1枚のみのファイル(移動される側)を開いて タブ(新規だとsheet1となっているところ)をドラックして
新ファイルの上に重ねてやれば 移動してくれます。

こんなんでいいのかな?

この回答への補足

早い回答ありがとうございます。
複数のシートと言うのは、同じBook内にあるシートです。
1Book内のシートの内容をすべてSheet1内に集めたいのです。
1BookにSheet1からSheet10まであるものを、1bookのSheet1内にまとめたいのです。よろしくお願いします。

補足日時:2003/02/17 13:44
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!