
先に・・他の質問者様、回答者様の引用です。
【質問】
複数のシートにまたがるリスト形式のデータをひとつのシートにまとめるにはどのようなマクロを組めばよいのでしょうか。
具体的には
(1)Sheet1のリスト形式のデータ全てをコピーする
(2)貼り付け先のシート(統合シート)に貼り付ける
(3)Sheet2のデータ全てをコピーする
(4)統合シートの最終行の次に貼り付ける
(5)残りのシートについても(3)→(4)を繰り返す
【回答】
"統合"という名前のシートに、他のすべてのシートのリストデータを貼り付けます。
各シートのリストはA列から始まっているものとします。(違う場合はコードを修正してください)
Sub test01()
Dim sh As Worksheet
Dim lr As Long, tlr As Long
For Each sh In Worksheets
If sh.Name <> "統合" Then
lr = sh.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
sh.Rows("1:" & lr).Copy
tlr = Sheets("統合").Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
Sheets("統合").Range("A" & tlr + 1).PasteSpecial
Application.CutCopyMode = False
End If
Next
End Sub
ここからの追加質問になります。
このVBAでほぼやりたい事なのですが、
複数にまたがるシートのデータが常に7行目から始まり、8行目9行目が名称など言葉が入っています。
そしてそのデータの最後に総合計という行もあります。
データのみを一緒にしたいので、このいらない行を消すという作業を追加する事はできますか?
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
lr = sh.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
sh.Rows("1:" & lr).Copy
の意味は理解できているのでしょうか。
lr = sh.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row
コピーするシートの最終行の行番号を取得しています。
最終行が総合計で不要なら
lr = sh.Cells(ActiveSheet.Rows.Count, 1).End(xlUp).Row-1
で良くないでしょうか。
sh.Rows("1:" & lr).Copy
も1行目から取得した行までと云う事です。
仮に 8行目から良ければ
sh.Rows("8:" & lr).Copy
と云う事ですが。
一度、試してみてください。
正直理解できていません^^;
回答を読みなるほどと思っていました。。。
これで完璧にやりたいことが出来るようになりました!
ありがとうございました。
No.1
- 回答日時:
こんにちは
>常に7行目から始まり、8行目9行目が名称など言葉が入っています。
>そしてそのデータの最後に総合計という行もあります。
8、9行目が項目名などということはわかりますが、7行目はコピーの対象なのかそうでないのか・・・
とりあえず、10行目からコピーを初めて、最終行もコピーしないということで良いのだと解釈すると、
ご提示のマクロの中の
sh.Rows("1:" & lr).Copy
の部分が、『元となるシートの1行目からIr行目(=最終行)をコピーする』という意味になっていますので、その行数指定を修正すればご質問のようになると思われます。
sh.Rows("10:" & (lr - 1)).Copy
といった感じでしょうか。
※ 上記は元シート上に対象となるデータが無い場合は考慮していません。
※ もし、そのようなケースが存在し得るようなら、(Ir -1 >= 10)となる場合だけコピーを実行するようにすれば宜しいかと。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】【画像あり】4つの...
-
excelのInitializeイベントとAc...
-
特定のPCだけ動作しないVBAマク...
-
教えて下さい
-
UserForm1.Showでエラーになり...
-
【エクセル】測定時間がバラバ...
-
配列数式の解除
-
wordを起動した際に特定のペー...
-
一つのTeratermのマクロで複数...
-
String""から型'Double'への変...
-
【VBA】ワークブックを開く時に...
-
メッセージボックスのOKボタ...
-
マクロで"#N/A"のエラー行を削...
-
ExcelのVBA。public変数の値が...
-
Excel マクロでShearePoint先の...
-
Excel マクロ VBA プロシー...
-
エクセルで縦に並んだデータを...
-
Excelのセル値に基づいて図形の...
-
TERA TERMを隠す方法
-
この行は既に別のテーブルに属...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】【画像あり】4つの...
-
ACCESSのVBAにてExcelのシ...
-
excelのInitializeイベントとAc...
-
Excelで別シートの共通する項目...
-
オートシェイプの不具合について
-
Excelマクロ 別シートへ連続コ...
-
「IsText」の使い方を教えてく...
-
excel
-
excel sheet の整理をしたいです
-
エクセルシートをひとつにまと...
-
同一ブック内・別シートの内容...
-
教えて下さい
-
特定のPCだけ動作しないVBAマク...
-
配列数式の解除
-
エクセルで特定の列が0表示の場...
-
UserForm1.Showでエラーになり...
-
String""から型'Double'への変...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excelのセル値に基づいて図形の...
おすすめ情報