- ベストアンサー
シートのイベント 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する” にはどうすればいいですか?
- みんなの回答 (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
その他の回答 (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 といった具合の書き振りを憶えて下さい。
質問者
お礼
ありがとうございました。
お礼
ありがとうございました。