- 締切済み
【VBA】マクロについて
【VBA】マクロについて質問です。 マクロで複数のシートの特定のセル(A5(日付)、A7(社名)、B3(担当者)など)を別ブックのひとつのシートにまとめて、 日付 社名 担当者 シート1 A5 A7 B3 シート2 A5 A7 B3 シート3 A5 A7 B3 のように下へ下へ積み上げていくにはどうゆうマクロを組めばいいでしょうか。 同じ作業を複数のファイルで行わなければいけないため、マクロを組みたいのですが、よくわかりません>< ファイルによってシートの数が違うので、それにも対応すると有難いです。 どうぞよろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
> 別ブックにまとめ用のフォーマットを作成してあるので、その中のシートにまとめたいのですが、できま > すか? そのまとめ用の別ブックにVBAをコードし、まとめる必要のあるブックを、VBAからopenすればいいだけだと思います。 http://officetanaka.net/excel/vba/file/file05.htm
- kamikami30
- ベストアンサー率24% (812/3335)
>仕事で急いでやらなければいけなかったのですが、このマクロが無事組めたら勉強しようと思います。 急いでいるなら正しいカテゴリーで質問するといいですよ。 と言うことです。 VB、 Visual Basicとマクロは違うのでこの質問は締め切ったらどうでしょう。 回答も期待できないと思います。
- めとろいと(@naktak)
- ベストアンサー率36% (785/2139)
ActiveWorkbook.Sheets.Count で対象ブック内のシート数が取れます。 Dim sheet As Variant For Each sheet In ActiveWorkbook.Sheets MsgBox sheet.Name Next とかでもいいでしょう。 その中で、まとめるシートの名称などを比較して、そのシートだけは処理しないようにすればいいと思います。 あとはCellsやRangeなどで値を取得して、まとめるシートの対象セルへ値を設定すればいいだけです。 A1を基準に最終行を求めたい場合は Cells(1, 1).SpecialCells(xlLastCell).Row とすればいいです。 そこから+1すれば、追加すべき行を求めることができるでしょう。
- kamikami30
- ベストアンサー率24% (812/3335)
VBAとVBは違うものなので、まずはそれを理解するところから始めたらいいでしょう。
お礼
仕事で急いでやらなければいけなかったのですが、このマクロが無事組めたら勉強しようと思います。
補足
別ブックにまとめ用のフォーマットを作成してあるので、その中のシートにまとめたいのですが、できますか?