- ベストアンサー
エクセルのマクロに関する質問です。
エクセル2010使用。 以下の動作をマクロで行いたいです。 「まとめ」という名前のシートを追加。 全てのシート(シート数は毎回違い、10~18くらいあります。シート名もバラバラです。 )のC列にあるデータ(データ数も毎回違います。)をすべて抜き出して、(C列のデータだけでいいです。他の列のデータはいりません。)追加した「まとめ」というシートのA列にまとめるというマクロを組みたいです。 どなたかご教示いただけないでしょうか?
- みんなの回答 (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)
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 とりあえず、これでどうでしょう?