ここから本文です

エクセルのVBAで標準モジュールを追加したりしますが、この標準モジュールを2つ以...

bizman1919さん

2009/7/2114:34:32

エクセルのVBAで標準モジュールを追加したりしますが、この標準モジュールを2つ以上使用するケースはどういうときがあるのでしょうか?

あまりにコードが多過ぎるときとかですか?

例えばボタンを作って、そのボタンの数だけモジュールを作るとか?
でもグローバル定数を扱ったりする場合は複数のモジュールをまたげないのでうまくいないようですし…

補足今作っているものは…

エクセルで1つのコアシートにボタンが5つ。
ボタン1つにつき1モジュール。
処理自体は全く違うものですが、1シートでの作業と言う意味では1つのモジュールで管理しても良いかも。

グローバル定数に関しては、webからデータを取得するアドレスなどは一元管理したいところです。
また、共通で使える関数をモジュール毎に転記するのは冗長ですね…。

閲覧数:
2,962
回答数:
3
お礼:
25枚

違反報告

ベストアンサーに選ばれた回答

2009/7/2122:35:23

機能毎にモジュール分けするのが普通かな。

ボタンの機能が全く異なるなら、ボタン毎に1モジュールでも問題ない。というか、積極的にモジュール分割するべき所。
逆に、3択クイズの回答ボタンなら3つのボタンのイベントプロシージャは同じモジュールに在るべき。

publicなプロシージャは他のモジュールから呼べるから転記する必要は無いよ。共通で使うプロシージャがあるなら、それは共通処理モジュールに入れておけば済む話。なんで転記なんて発想に至ったんだろ? コピペ増殖はプログラマが絶対に避けるべき事だよ。

質問した人からのコメント

2009/7/22 00:20:31

みなさまアドバイスありがとうございます。
publicしても上手く行かないのでコピペするしかないのか?と思っていたのですが、凡ミスでした…。

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

2009/7/2119:11:32

ボタンの数だけモジュールを作りますよ。
変数はpublicで定義します。

funahatiさん

編集あり2009/7/2119:25:24

ファイル分割の発想です。 コード行数が特に多くなくても、機能毎に分けておいた
方が修正作業が楽になりますし、必要なモジュールだけ別ファイルに移したり……
「 でも・・・・ 」 ジャネーヨ(笑) グローバル定数なんか使うんじゃない!

<追記>

ちょ・・・ ちょっと待ってくれ。
そのボタンの動作が似たようなものでも、モジュールを分割すると言うのか・・・・・・?
確かにクラスまで作れとは言わないが・・・ いま、とんでもない世界を見た気がした。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

目には目を、歯には歯を

みんなのアンテナ

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。