• ベストアンサー

エクセルのマクロに関する質問です。

エクセル2010使用。 以下の動作をマクロで行いたいです。 「まとめ」という名前のシートを追加。 全てのシート(シート数は毎回違い、10~18くらいあります。シート名もバラバラです。 )のC列にあるデータ(データ数も毎回違います。)をすべて抜き出して、(C列のデータだけでいいです。他の列のデータはいりません。)追加した「まとめ」というシートのA列にまとめるというマクロを組みたいです。 どなたかご教示いただけないでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • zongai
  • ベストアンサー率31% (470/1474)
回答No.2

シートの追加、の部分が抜けてましたので、修正。 Sub sample() With Application .DisplayAlerts = False Sheets("まとめ").Delete .DisplayAlerts = True End With Worksheets.Add.Name = "まとめ" n = Worksheets.Count For i = 1 To n If Worksheets(i).Name <> "まとめ" Then Worksheets(i).Select Range(Cells(1, 3), Cells(Cells(1, 3).SpecialCells(xlLastCell).Row, 3).End(xlDown).End(xlUp)).Copy Worksheets("まとめ").Select Cells(1, 1).End(xlDown).End(xlDown).End(xlDown).End(xlUp).Offset(1, 0).Select ActiveSheet.Paste End If Next Sheets("まとめ").Rows(1).Delete End Sub すでに「まとめ」があれば強制削除して新規追加。 各シートC1~C行最終までを「まとめ」シートに貼り付けます。 あなたはどの程度の知識をお持ちなのでしょうか。 シート追加なんて特に難しいことではないし、web検索すればすぐ見つかると思いますが・・・。 質問?丸投げ?

その他の回答 (1)

  • zongai
  • ベストアンサー率31% (470/1474)
回答No.1

Sub sample() n = Worksheets.Count Sheets("まとめ").Columns("A:A").Delete For i = 1 To n If Worksheets(i).Name <> "まとめ" Then Worksheets(i).Select Range(Cells(1, 3), Cells(Cells(1, 3).SpecialCells(xlLastCell).Row, 3).End(xlDown).End(xlUp)).Copy Worksheets("まとめ").Select Cells(1, 1).End(xlDown).End(xlDown).End(xlDown).End(xlUp).Offset(1, 0).Select ActiveSheet.Paste End If Next Sheets("まとめ").Rows(1).Delete End Sub とりあえず、これでどうでしょう?

関連するQ&A