- ベストアンサー
エクセルVBAで複数のブックから指定のシートを別のブックに複写する方法とは?
- エクセルVBAの超初心者です。複数のフォルダに格納されている「●●社計算書(2010年3月).xls」などのブックから売上というシートの商品コードと売上金額を集計用ブックに集計したいです。商品コードは各社共通ですが、ブック名とフォーマットは共通していません。集計するのは指定の年月度のデータです。どのように集計用ブックにコードを書けばよいでしょうか?お分かりになる方、ご教授願います。
- エクセルVBAを使って複数のブックから指定のシートを別のブックに複写する方法についてです。超初心者の方で、各社のフォルダに格納されているブックから売上シートの商品コードと売上金額を集計用ブックに集計したいと思っています。商品コードは各社共通ですが、ブック名とフォーマットは異なります。集計するのは指定の年月度のデータです。どのように集計用ブックにコードを書けばよいでしょうか?不明点があるので、お教えいただけると助かります。
- エクセルVBAで複数のブックから指定のシートを別のブックに複写する方法について質問です。超初心者で、各会社名のフォルダには「●●社計算書(2010年3月).xls」などのブックが格納されています。各ブック内の売上シートには商品コードと売上金額があり、これを集計用ブックで集計したいと考えています。商品コードは各社共通ですが、ブック名やフォーマットは異なります。集計対象は指定の年月度のデータです。どのように集計用ブックにコードを書いていけば良いのでしょうか?お分かりになる方、ご教授ください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>要領を得ず そうですね。実際のマクロプログラムをサンプルとしても書いてみるには,あまりに情報が足りなすぎます。 まず手始めにマクロの事はちょっと横に置いて忘れておいて,「日本語で」今から何をすべきなのか,作業の段取りを箇条書きしてみる所から始める必要があるようです。 サンプル: 1)調べるべきフォルダを漏れなく特定する方法を考えて決める 2)特定した各フォルダ内にある,調べるべきブック名を特定する方法を考える 3)各々特定したブックの中の,実際に調べるべきシート名を特定する(ここだけ既定) 4)そのシートの中から,具体的にどのデータを取ってくる必要があるのか整理する 5)実際に欲しいデータが入っているセルを特定する方法を考える 6)特定したセルの値を,集計ブックのどこにどうやって集約するのか考える それぞれの作業ステップは,マクロを一つも使わず「あなた自身がマクロになったつもりで」あなたの目と手とアタマを使って実際にエクセルを操ってみる事で,具体的に「何を見て」「どういう基準でどう判断して」「どのように手を動かしてエクセルを操ったか」の段取りとして整理することが出来ます。 その段取りが確認できたら,ようやくエクセルを開いてその作業をマクロのプログラムに翻訳する作業を開始できますし,部分的には「この工程をいきなりマクロにするのは大変だから,とりあえずここは手でやろう」といった判断も出てきます。 #しばしば初心者さんが陥るトラップとして,誰か親切さんが一杯マクロを書いてくれたのを飛びついて頂戴したのはいいけれど,一体その方が「どんな段取りを想定してプログラムしたのか」何も判ってないで何をやってるのか(当然どう修正したらいいのか)全く手が着かない,結局喜んで拾ったのに捨てるしかないハメに陥ります。 ○簡単な作成例 フォルダの特定はあなたの目で行う ファイルの特定はあなたの目で行う ブックを開くのはあなたが手で行う シートを開くのはあなたが手で行う シートの「不定のフォーマット」で欲しいデータのセル範囲を確認し選択する 次のマクロを実行する Sub Macro1() Selection.Copy _ Destination:=ThisWorkbook.Worksheets("集約シート").range("A65536").End(xlup).Offset(1) End Sub 集約ブックの集約シートにデータがコピー出来るので,ピボットテーブルレポートであとは集計させる 以上です。 そして次のステップとして,今度は段取りのどの部分を自動化しようか考えて,またその部分を実装していきます。