
ブック内にある複数のシートのデータを1つのシートに集約する方法を教えて下さい。
ヘッダーがA1からF1に下の項目が一行のみ並んでいます。
作業日
作業内容・部品名
数量
単価
部品・作業金額
1つのシートに、ヘッダーが付いて集約出来るようにしたいのですが、
以前、別の方が同様の質問しており、回答があった方法を参考にしたいのですが、どのように変更すれば良いのかわかりません。
下記回答を
1行目のヘッダーを残しつつ、2行目以降A~E列まで84行データがあり、シートは1枚から7枚までです。
急ぎを要しています。よろしくお願いします。
'--------------------------------------------------------
Option Explicit
Sub DATA_MATOME()
Dim k As Integer, LstRow As Long, TgtRow As Long
Dim WsM As Worksheet, Rng As Range
Application.ScreenUpdating = False
'まとめシートを作成し、ヘッダーを作成
Set WsM = Worksheets.Add(before:=Worksheets(1))
ActiveSheet.Name = "まとめ"
With Worksheets(2)
Set Rng = .Range(.Cells(1, 1), .Cells(7, 8))
End With
Rng.Copy WsM.Cells(1, 1)
'1~27枚目をループ
For k = 2 To 28
Worksheets(k).Select
LstRow = Cells(Rows.Count, 1).End(xlUp).Row
If LstRow > 7 Then 'データがあるならそのデータをコピーしてまとめシートへ
Set Rng = Range(Cells(8, 1), Cells(LstRow, 8))
TgtRow = WsM.Cells(Rows.Count, 1).End(xlUp).Row + 1 'まとめシートの貼付行
Rng.Copy WsM.Cells(TgtRow, 1)
Else
End If
Next k
WsM.Select
Set Rng = Nothing
Set WsM = Nothing
Application.ScreenUpdating = True
MsgBox "End."
End Sub
'--------------------------------------------------------

No.1ベストアンサー
- 回答日時:
ヘッダーというのはExcelのヘッダーではなく項目行のことですよね?
ご呈示のマクロできちんとできましたよ。
変えたのは
>'1~27枚目をループ
の部分。
>シートは1枚から7枚までです。
ということなので、
For k = 2 To Sheets.Count
に書き換えました。

No.2
- 回答日時:
そのコード、
http://oshiete.goo.ne.jp/qa/9124524.html
ですね。
項目行部分が7行もあるので、本質問(項目行は1行だけ)に合致するように
>If LstRow > 7 Then 'データがあるならそのデータをコピーしてまとめシートへ
> Set Rng = Range(Cells(8, 1), Cells(LstRow, 8))
も変える必要がありますね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBAで教えて頂きたいのですが? 1 2022/04/29 02:36
- Visual Basic(VBA) コード名シートA列と集計シートA列のコードが一致したら、コード名シートA5からk12の範囲をコピーし 1 2022/08/29 23:46
- Visual Basic(VBA) VBAコードが作動せず、どこに問題があるのか教えて下さい。 3 2023/06/13 13:20
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Visual Basic(VBA) 【VBA】特定のワードが入っている行全体を塗りつぶしたい 4 2022/04/20 15:22
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) 【前回の続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/16 16:44
- Excel(エクセル) VBAについて 3 2022/06/19 18:19
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelのInitializeイベントとAc...
-
ACCESSのVBAにてExcelのシ...
-
エクセルVBAで名前の決まってい...
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
教えて下さい
-
UserForm1.Showでエラーになり...
-
配列数式の解除
-
ExcelのVBA。public変数の値が...
-
【Access】Excelインポート時に...
-
一つのTeratermのマクロで複数...
-
マクロの連続印刷が突然不可能...
-
メッセージボックスのOKボタ...
-
Excel・Word リサーチ機能を無...
-
オートフィルターとExcelマクロ...
-
Excel マクロ VBA プロシー...
-
#defineの定数を文字列として読...
-
Excel VBAからAccessマクロを実...
-
Excel_マクロ_現在開いているシ...
-
IF関数を使ってマクロを実行さ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
excelのInitializeイベントとAc...
-
ACCESSのVBAにてExcelのシ...
-
同一ブック内・別シートの内容...
-
Excelマクロ 別シートへ連続コ...
-
エクセルVBAでブックの分割
-
エクセル2010の内容を次のシー...
-
ExcelVBA: 5行ごとにテキスト...
-
複数のシートでマクロの実行
-
エクセルマクロ シートの追加
-
excel sheet の整理をしたいです
-
VBAで繰り返し処理の速度を...
-
VBAについて
-
ExcelVBAを使っての振り分け処理
-
オートシェイプの不具合について
-
【VBA】セルとシート操作の繰り...
-
複数シート内容を1 シートに纏...
-
excel
-
配列数式の解除
-
特定のPCだけ動作しないVBAマク...
-
マクロOn Error GoTo ErrLabel...
おすすめ情報