- ベストアンサー
エクセルのVBAを使用してA列に×が入力された場合のみ、
エクセルのVBAを使用してA列に×が入力された場合のみ、 ×が入力されたセルだけ削除し上方向へシフトをダイアログボックスも表示せずに行うにはどの様に記述すれば良いでしょうか? どなたかご教授をお願いします。 【環境】 OS = WindowsXP SP3 Excel = 2003
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
勿論FALSEでしたらマクロは終了します。 マクロに書き込むのでしたら、Else Exit Sub を入れることでも良いですね。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Value = "×" Then Target.Select Selection.Delete Shift:=xlUp Else Exit Sub End If End Sub
その他の回答 (2)
- KURUMITO
- ベストアンサー率42% (1835/4283)
例えば次のようなマクロになるでしょう。 Private Sub Worksheet_Change(ByVal Target As Range) If Target.Column = 1 And Target.Value = "×" Then Target.Select Selection.Delete Shift:=xlUp End If End Sub
- watabe007
- ベストアンサー率62% (476/760)
以下、シートモジュールにコピペ Private Sub Worksheet_Change(ByVal Target As Range) With Target If .Count > 1 Then Exit Sub If .Column <> 1 Then Exit Sub If .Value = "×" Then .Delete Shift:=xlUp End With End Sub
補足
ご回答ありがとうございます。 ご指示通りで出来ました。 ちなみに・・・ 質問の主旨とは変わってしまいますが、 ×がFALSEのときはこの記述では不可ですよね? FALSEで場合はどうすべきでしょうか?
補足
ご回答ありがとうございます。 WATABE002にも補足させて頂きましたが、 FALSEでの場合はどうすべきでしょうか?