こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

モジュール名を変更すると正常に動作しない

標準モジュール「Module1」を作成し、
関数を書き込み正常に動作していましたが、
モジュール名を分かりやすくしようと変更したところ、
正常に動作しなくなってしまい、
名前を元に戻すと、また正常に動作します。

どうしても名前を変更したかったので、
「Module1」を一度解放して削除した後、
新たな「Module1」を作成し、
モジュール名を変更してから関数を書き込んでみたり、

「Module2」を作成し、
モジュール名を変更してから関数を書き込み、
「Module1」の関数を消してみたりしましたが、
最終的には、何をどうしても動かなくなってしまいました。

原因や対策、解決策をご存知でしたら、
教えてください。

投稿日時 - 2018-12-01 01:28:21

QNo.9563347

困ってます

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

> モジュール名を変更すると何故ダメなのか?

例えば、質問者さんの母親が普段料理をしているとして、
・砂糖の入れ物を塩の入れ物に変更する。
・醤油の入れ物をソースの入れ物に変更する。
・入れ物にラベルを張ってるなら、ラベルを別の調味料の名前に変更する。
を黙ってやったら、まともに料理できないみたいな話です。

入れ物の名前を変えたなら料理する人にしっかり伝える必要があるように、「Module1」を呼び出している処理の呼び出し名を変更するとかって必要があります。

投稿日時 - 2018-12-02 09:25:56

お礼

なるほど、イメージが掴めました。

入れ物名は最初にきちんと決めておく!
決めたら入れ替えない!が良さそうですね。

有難うございました。

投稿日時 - 2018-12-03 09:34:19

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.3

> 関数を読み込みにいったまま答えが戻ってこない状態
> メモリ不足の時に画面がフリーズするような?

VBAの処理がループしてるなら、キーボードのCtrl+Breakで処理中断して、ステップ実行などで期待した通りに動作しているのかを確認とか。

投稿日時 - 2018-12-01 18:20:20

補足

いえ、VBAの記述がどうこうではなく、
モジュール名を変更すると何故ダメなのか?
モジュール名を変更しても正常に動作する方法、
あるいは手順があるのか?が知りたいのです。

投稿日時 - 2018-12-02 00:41:23

ANo.2

Q、原因や対策、解決策を教えてくださいを。
A、モジュール名や関数名は一切変更しないこと。

 変更後に挙動がおかしくなった場合は、全て一からやり直します。これは、名前だけの問題ではありません。フォームやレポートのコードも順番を入れ替えると正常な動作は期待できません。これは、昔から知られている問題です。

投稿日時 - 2018-12-01 13:00:09

お礼

なるほど、そういうものなのですね。
有難うございました。

投稿日時 - 2018-12-01 13:33:49

ANo.1

> 正常に動作しなくなってしまい、

どういう操作で動作させようとしたら、何がどうなるはずのものが、どういう風に動作しなかったの?

例えば、シートに配置したフォームボタンを押してMacro1を呼び出してたなら、モジュール、関数の名前を変えると同時に、ボタンを右クリック-[マクロの登録]で、呼び出すマクロを変更する必要があるハズ。

投稿日時 - 2018-12-01 08:02:34

補足

フォームやボタンなどの使用はありません。

簡単な計算式の独自関数を作成し、
答えを表示させるだけのものなのですが、
関数を読み込みにいったまま答えが戻ってこない状態
と言えば良いのでしょうか?
メモリ不足の時に画面がフリーズするような?
動いているのに「応答なし」状態のようになってしまいます。
「関数がない」などのエラーも出ません。

投稿日時 - 2018-12-01 13:45:12

あなたにオススメの質問