• 締切済み

SelectionChangeとChangeの違い

エクセルのシートイベントには、 ・Worksheet_Change ・Worksheet_SelectionChange がありますが、違いはなんでしょうか? ・Worksheet_Changeはセルの値が変わったら発動 ・Worksheet_SelectionChangeは、 セルの選択が変わったら発動なおかつセルの値が変わったら発動 と言うことでしょうか? ・セルの値が変わったら、Changeイベントの方が先に発動する。 であってますか?ご回答よろしくお願いします。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

次のように実際にシートに仕込んでみます。 private sub Worksheet_Change(byval Target as excel.range) msgbox "Change " & target.address end sub private sub Worksheet_SelectionChange(byval Target as excel.range) msgbox "SelectChange " & target.address end sub で、次の操作を実際にご自分の手を動かして行ってみます。 1.セルの選択を変える 2.任意のセルに記入してEnterする 3.任意のセルに記入してCtrl+Enterする(あるいは数式バーのチェックボタンで入力を終える) 4.記入したセルでdeleteキーを押して削除する やってみるとわかること: ○選択セルが動くとselectionchangeが起こります。選択セルが動かなければ、selectionchangeは起こりません。 ○セルの記入が変化するとchangeが起こります。選択セルが動いたか否かは関係ありません。 ○セルに記入され、同時に選択セルが動くと、まずセルに記入されてからセル移動が起こります。 さらに、「具体的にどのセルを受け取って」マクロが作動しているのかも、よく観察して理解してください。

関連するQ&A