• ベストアンサー

シートのイベント VBA

シートをクリックしたらシートをクリアしたいのですが クリックするセルがA1の場合は、マクロを実行させたくないのですが 下記のコードだとエラーになってしまいます。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Target.Range = Range("a1") Then Cells.Clear End If End Sub ”Range("a1")でなければ、Cells.Clearする” にはどうすればいいですか?

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

  • ベストアンサー
回答No.2

書き方の問題なんだろうけど、ところでこのコードの働きは?? A1に何か入れてもカーソルは移動するんだし、、、 Private Sub Worksheet_SelectionChange(ByVal Target As Range) 'If Not Target.Range = Range("a1") Then If Not Target.Range("a1") Then Cells.Clear End If End Sub

qyblxwolyb3
質問者

お礼

ありがとうございました。

その他の回答 (1)

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

エクセルでは「シートをクリックしたら」というイベントはありません。使うならWクリックイベントにします。 でもまぁ、折角ですからあなたのマクロをそのまま使って、ご質問の直接の回答としては Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Target.address = "$A$1" Then Cells.Clear End If End Sub といった具合の書き振りを憶えて下さい。

qyblxwolyb3
質問者

お礼

ありがとうございました。

関連するQ&A