- ベストアンサー
VBA 自動起動について
VBA初心者で、時間のあるときに自己学習しているものです。 特定のセルが更新されたときに特定のマクロを呼び出そうとしているのですが うまくいきません。。どのようなマクロを組めばよいでしょうか? イメージとしては、A1のセルが更新されたときにmacro1を、 A2のセルが更新されたときにmacro2を...というような感じにしたいと思っています。 また、無限ループ対策もご教授していただけないでしょうか。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
標準モジュールのModule1にMacro1およびMacro2が用意されている。 手順: シート名タブを右クリックしてコードの表示を選ぶ 現れたシートに下記をコピー貼り付ける private sub worksheet_change(byval Target as excel.range) select case target.address case "$A$1" application.enableevents = false application.run "Module1.macro1" application.enableevents = true case "$A$2" application.enableevents = false call Module1.Macro2 application.enableevents = true case else end select end sub ファイルメニューから終了してエクセルに戻る A1セル、A2セルを更新する #参考 enableeventsを制御するのは、実際には「セルを更新する」前後で行います #セルやセル範囲を「更新」したときに、targetに何が入ってくるか練習して勉強してください。