• ベストアンサー

セルの値が●ならば▲のマクロを自動で実行

エクセルで、セルの値が●ならば▲のマクロを自動で実行するということはできるのでしょうか? セルの値が●月(TODAY関数)なら、自動的に置換をするように設定したいのです。

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

  • ベストアンサー
  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.2

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

その他の回答 (1)

回答No.1

たとえば、 セルA1に○月のときに セルA2の内容を□から■に置き換える、というイメージであれば、 セルA2に関数指定をするのはいかがでしょう? (IF+Lookupとか・・・) もう少しどのように置き換えしたいのかわかれば~と、思います。

関連するQ&A