• ベストアンサー

Excel VBA 標準モジュールの整理?

Excel2003を使用しています。 ある人が作成したファイルが数十人分、WEB上に保存してあり、マクロも数個含まれています。 マクロの内容は、シート上に配置されているボタンをクリックすることで印刷する書類(印刷範囲)を変更するといった簡単なものがほとんどなのですが、マクロの記録を何度もとりながらコードを書いたらしく、標準モジュールが20個もありましたが、空のモジュールのほうが多かったです。 また、マクロに判別しやすい名前が付いていないため、このボタンのコードは、どのモジュールに書かれているのかが分からないので、ひとつひとつ確認しながら、空のモジュールは削除し、同じシート上で行う処理は、同一のモジュール内にまとめるなどして、標準モジュールを整理しました。 上記のことを自分用に作成されているファイルで行いましたが、同じ部署内の分は私が管理するので、標準モジュールの内容(モジュールの数とコード)を私のファイルと同じようにしたいのですが、コピペのような簡単な方法はあるでしょうか? 質問内容が分かりづらくて申し訳ありませんが、よろしくお願いします。

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

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.3

モジュールを外部ファイル(.bas)として出力できますので、ファイルに出力しておいて、それぞれのファイルにインポートすればよろしいかと… (.basは単なるテキストファイルみたい) 以下のサイトを見ると、モジュール自体もVBAから操作できるみたいなので、他のファイルへの入替え作業もマクロ化することは可能と思われます。 (やったことがないので、未検証)  http://chaichan.web.infoseek.co.jp/vbtips/VBMemo2006081403.htm ただし、一回こっきりの作業でしょうから、マクロを作成して検証しているよりも、入れ替えは手作業の方が早いかも。

KOH3193
質問者

お礼

アドバイスありがとうございます。 お礼が大変遅くなり、申し訳ありません。 今回はコピペで処理しようと思います。 教えていただいたURL参考になりました。時間があるときにでも、一度試してみたいと思います。 ありがとうございました。

その他の回答 (2)

  • ipsum11
  • ベストアンサー率21% (55/251)
回答No.2

コピペでも良いと思います。 ですが、標準モジュールはエクスポートできますので、 ご自分の作成したモジュールをエクスポートし、 管理したい他のファイルにインポートする方法もあります。 どちらがやりやすいか、お任せします。

KOH3193
質問者

お礼

回答ありがとうございます。 お礼が大変遅くなり、申し訳ありません。 エクスポート→インポートの方法で、空の標準モジュールを削除したりまではできませんよね…。 今回は単純にコピペしたほうがやりやすいようです。 ありがとうございました。

  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.1

VisualBasicEditorは、メモ帳などと同じで、どのようにもコピペが 可能です。要は「実行時に正常なコードになっている」ことが重要な だけで、貼り付けた時点ではコードになっていなくてもo.k.です。 ですので、単純に両方を開いてコピペすれば良いんじゃないですか?

KOH3193
質問者

お礼

アドバイスありがとうございます。 お礼が大変遅くなり申し訳ありません。 やはり、単純にコピペがいいのでしょうね。 私のファイルと同様の状態にしたいファイルが複数あるので、1回の作業で同時に処理できないかと思い、質問させていただきました。 ありがとうございました。

関連するQ&A

  • シートモジュールのマクロを標準モジュールに移したいのですが・・

    マクロを標準モジュールでなく、うっかりsheet2に作成しました。 作動は問題なかったのですが、sheet2を差し替える事になったので、 マクロを標準モジュールにコピーしたいのですが、標準モジュールではうまく作動しません。 なにが原因で解決するにはどうすれば良いのか全くわかりません。 マクロ初心者でネットを参考にしながら作成したので詳しい事は分かりませんが、よろしくお願いします。

  • エクセルVBAで標準モジュールを保護したい

    エクセルのVBAマクロを使用したエクセルフィルがあります。 ユーザーは標準モジュールに記述した関数を使ってシートのマクロを変更してカストマイズできます。 ユーザーが標準モジュールを変更すると使用できなくなりますので、この標準モジュールだけをユーザーが変更できない、または見えないようにする方法をご教示いただけませんか。 よろしくお願いします。

  • EXCEL マクロで「標準モジュールで」とどのように行けばよいのですか

    よろしくお願いします。 あるマクロを シートモジュールでWorkbookのOpenイベントで あるいは標準モジュールで と書いてあったのですが 今まで ツール→マクロ→新しいマクロの記録しかやったことがないので 標準モジュールに行く方法が解りません。 超初心者ですので 解りやすく教えてください。

  • たくさんの標準モジュールを別ブックへ移動したい

    とあるマクロ付きのエクセルファイルの調子がおかしいので、新規二分句を立ち上げて シートやらモジュールやらをすべて移そうと思うのですが、 標準モジュールが30個近くあります。 ・・・これってひとつひとつ手作業で移行するしかないのでしょうか? シートの移動のように一気に別ブックへ移動はできないですか?

  • EXCEL2010 VBA シートモジュール

    EXCEL2010でVBAを使用しています。 シートモジュールを使用して特定のシートがアクティブになるとコードが実行されるようにしたいのですが、問題が一点ありまして。 特定のシートは別のコマンドを使用したときに作成されるので最初からあるシートではありません。 なのでシートモジュールにコードを入力しておくことができません。 処理の流れ 1.シートAでコマンドボタンをクリック 2.コードが実行されてシートB(特定のシート)・シートC~シートFを作成 シートが作成されると同時にシートモジュールに決められたコードを自動で入力するというような 方法はないでしょうか?

  • Excel VBAでのコードの書き分け方

    Excel VBAについてご質問します。 プロジェクトの項目を見ると、 Sheet1 ThisWorkbook 標準モジュール などさまざまあると思います。 これらに対して、どこにコードを書いていくべきなのかがわかりません。 例えば、Sheet1にボタンを配置して、それがクリックされたときの動作についてはSheet1に書けばいいのだと思います。 ですが、いろんなシートのコード、フォームのコードなどから呼び出される関数はThisWorkbookか標準モジュールのどちらに書けばいいのか悩んでいます。 それ以外のケースも含めて、一般的にこういう風に使い分けをするというのがありましたら、ぜひ教えてください。 よろしくお願いいたします。

  • エクセル VBA dll 読み込み時のエラーです

    エクセルファイルを作成しました。 ボタンを押すとシートを選ぶような簡単なマクロが付随してます。 サーバーにアップロードする方法で 複数の人間が利用してデータを上書きするものです。 途中でマクロを実行する際に 「dll 読み込み時のエラーです」 と表示されるようになりました。 修正しても不定期で発生します。 VBA標準モジュールのファイルをクリックしても同様で マクロのコードが参照できません。 ファイルは重い為、圧縮と解凍を繰り返してます。 どのような原因があるのでしょうか。 エクセルもVBAも素人ですので わかりやすい解説をお願いします。

  • エクセルVBA モジュールの印刷について

    エクセルVBA標準モジュールの印刷のセットアップはどうやるのでしょうか? いつも用紙左側ギリギリに印刷され、ファイルに閉じると左側が見えなくなってしまいます。 よろしくお願い申し上げます。

  • エクセルVBA:標準モジュールに書いたコードを順次検証する方法

    よろしくお願いします。 何かの本で見かけたのですが、調べてもわからないので教えてください。 エクセルVBAで、標準モジュールに書いたコードを上から順番に、どこかで区切って実行し、実行結果とコード内容を検証しつつ、順次、その検証を進めていく方法を知りたいのです。お願いいたします。

  • excel vba です

    シートにActiveXコントロールでボタンを作りました そのボタン押下時、 標準モージュールにあるソースを直接呼出したいのですが、 ボタンとそのモジュールの割り当て方がわかりません 教えてください (1) sheet1 に CommandButton1 というボタンがあります (2) 標準モージュールにある、 Sub test() というモジュールを直接呼び出したい 普通にやると、Sheet1 に Private Sub CommandButton1_Click() というモジュールができてしまいます そこから、Sub test() をcall するのではなく、直接呼び出したいのです 教えてください、宜しくお願いします

専門家に質問してみよう