質問: セルの値が●ならば▲のマクロを自動で実行 エクセルで、セルの値が●ならば▲のマクロを自動で実行するということはできるのでしょうか? セルの値が●月(today関数)なら、自動的に置換をするように設定したいのです。
回答: エクセルでは >セルの値が●ならば▲のマクロを自動で実行する と言うのは出来ません。 なので、考え方を変える必要があります。 エクセルなら「シート内のどこかのセルの値が変化したらイベントが発生し、マクロを実行する」と言う機能があります。 そこで「どこかのセルの値が変化したら、マクロを実行し、そのマクロの中で、セルの値が●ならば続きを実行し、そうじゃないならば何もしないでマクロを終る」と言うマクロを組めば、目的を達成できます。 但し「シート内のどこかのセルの値が変化したら実行されるマクロ」なので、そのマクロの中で「シート内のどこかのセルの値を置換する(つまり、変化させる)」と、自分自身がもう一度呼び出されます。 その中でまた置換が実行され、更に自分自身がもう一度呼び出され、と言うのを永久に続けようとし「メモリ不足です」との致命的エラーが起き、エクセル自身が異常終了するので注意して下さい。 「一度呼ばれたら、置換などの処理が終るまで、自分自身が再帰的に呼び出されても困らない工夫」をしましょう。