【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード

エクセルで、セルの値が●ならば▲のマクロを自動で実行するということはできるのでしょうか?

セルの値が●月(TODAY関数)なら、自動的に置換をするように設定したいのです。

A 回答 (2件)

エクセルでは


>セルの値が●ならば▲のマクロを自動で実行する
と言うのは出来ません。

なので、考え方を変える必要があります。

エクセルなら「シート内のどこかのセルの値が変化したらイベントが発生し、マクロを実行する」と言う機能があります。

そこで「どこかのセルの値が変化したら、マクロを実行し、そのマクロの中で、セルの値が●ならば続きを実行し、そうじゃないならば何もしないでマクロを終る」と言うマクロを組めば、目的を達成できます。

但し「シート内のどこかのセルの値が変化したら実行されるマクロ」なので、そのマクロの中で「シート内のどこかのセルの値を置換する(つまり、変化させる)」と、自分自身がもう一度呼び出されます。

その中でまた置換が実行され、更に自分自身がもう一度呼び出され、と言うのを永久に続けようとし「メモリ不足です」との致命的エラーが起き、エクセル自身が異常終了するので注意して下さい。

「一度呼ばれたら、置換などの処理が終るまで、自分自身が再帰的に呼び出されても困らない工夫」をしましょう。
    • good
    • 0

たとえば、


セルA1に○月のときに
セルA2の内容を□から■に置き換える、というイメージであれば、

セルA2に関数指定をするのはいかがでしょう?
(IF+Lookupとか・・・)

もう少しどのように置き換えしたいのかわかれば~と、思います。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!