Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4054 / 13644 ツリー ←次へ | 前へ→

【58639】転記マクロを別ファイルで実行したいです。 くろり 08/11/2(日) 2:43 質問[未読]
【58641】Re:転記マクロを別ファイルで実行したいで... かみちゃん 08/11/2(日) 7:55 発言[未読]

【58639】転記マクロを別ファイルで実行したいです...
質問  くろり  - 08/11/2(日) 2:43 -

引用なし
パスワード
   こんばんわ。

VBAはほとんどいじったことがなく、こちらで教えて頂けると嬉しいです。


では、やりたいコトですが

workbook_A(転記元)からworkbook_B(転記先)へ転記するツールをつくっています。
こちらは、各シートごとに転記の実行ができるようにするため、
各シートごとでマクロをわけています。同一モジュール内でシートごとにプロシージャを分けて記述しています。


現在、wb_Aでマクロを実行しています。なぜかというと、wb_AはActiveworkbookで定義しているからです。このブックをアクティブにしないと実行できません。。。

実は、こちらの転記元ファイルは、ファイル名が固定じゃなんです。
転記先は固定ですが、マクロがくまれてない状態で取り扱いたいファイルなので、記述できません。

なので、別ブックにマクロを記述し、上記の作業を実行というかたちをとりました。


そこでやりたいことというのは、

wb_Aの幾つかのシートの中の1シートが、複数になるファイルがあります。
シートのフォーマットは同じで中身のデータが異なるという感じです。

マクロは、転記元のX_sheet、Y_sheet、Z_sheetから、
転記先のX_sheet、Y_sheet、Z_sheetに転記。と組んであります。

なので、例えば転記元のY_sheetが複数になっている場合は、転記先のY_sheetも同じ数にコピーして作成させておき、転記実行を行う必要があるのです。


で、問題なのは、増えているシートのシート名がバラバラになっているということです。(固定じゃないのです。)


以上のように、転記元の幾つかのシートのうちひとつが、複数になっているとき、
転記先の対象シートも同じ数だけ増やし、転記の実行をする
という流れにしなくてはなりません。
(しかし、増えたシートのシート名は、そのつど違う)


このようなツールをつくるためには、どんな方法があるのか
教えていただけないでしょうか?


宜しくお願い致します!!

【58641】Re:転記マクロを別ファイルで実行したい...
発言  かみちゃん E-MAIL  - 08/11/2(日) 7:55 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>VBAはほとんどいじったことがなく、こちらで教えて頂けると嬉しいです。

それであれば、現在できているコードを提示してみませんか?
質問がわかりづらいです。

>こちらは、各シートごとに転記の実行ができるようにするため、
>各シートごとでマクロをわけています。同一モジュール内でシートごとにプロシージャを分けて記述しています。

シートごとにプロシージャをわける理由がよくわかりません。
なんとなく、ブック名やシート名が違うだけで、コピー処理は、共通な処理では
ないのでしょうか?

>実は、こちらの転記元ファイルは、ファイル名が固定じゃなんです。
>転記先は固定ですが、マクロがくまれてない状態で取り扱いたいファイルなので、記述できません。

私なら・・・
処理開始時に転記元、転記先を選択して、処理をしますね。

>wb_Aの幾つかのシートの中の1シートが、複数になるファイルがあります。
>シートのフォーマットは同じで中身のデータが異なるという感じです。

1シートが複数になるというのは、何が単数で何が複数なのですか?
行や列が可変ということですか?

>マクロは、転記元のX_sheet、Y_sheet、Z_sheetから、
>転記先のX_sheet、Y_sheet、Z_sheetに転記。と組んであります。
>
>なので、例えば転記元のY_sheetが複数になっている場合は、転記先のY_sheetも同じ数にコピーして作成させておき、転記実行を行う必要があるのです。

転記先にY_sheetがある場合どうするのですか?

>以上のように、転記元の幾つかのシートのうちひとつが、複数になっているとき、
>転記先の対象シートも同じ数だけ増やし、転記の実行をする
>という流れにしなくてはなりません。
>(しかし、増えたシートのシート名は、そのつど違う)

やはり、質問の意図がよくわかりません。

転記元のブックのすべてのシートを転記先にコピーすることではないのですか?
転記先にすでにそのシートが存在していたらどうするのですか?
現在できているコードを提示していただくと、何がしたいのかは少しわかるかも
しれません。

4054 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free