プロが教える店舗&オフィスのセキュリティ対策術

はじめて質問させて頂きます。

エクセルで、特定のセルに特定の入力があった場合に、特定のデータを削除する方法を教えてください。
エクセルのバージョンは、2010です。
VBのバージョンは、7.0です。

例えば、

A1セルに、 1 と入力した際に、C1からG1までのデータを削除する。
A2セルに、 1 と入力した際に、C2からG2までのデータを削除する。
                    ・
                    ・
                    ・
A10セルに、 1 と入力した際に、C10からG10までのデータを削除する。

If Range("A1") = "1" Then
Range("C1:G1").Clear
End If

と、やってみましたが、できませんでした。

宜しくお願い致します。

A 回答 (2件)

>A1セルに、 1 と入力した際に



入力があった際に実行したかったのではないのでしょうか?
計算結果はA1セルに入力とはいえません。
どこで入力があってもその行のA列の値で判断したい場合は以下のような感じです。

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A" & Target.Row).Value = 1 Then
Range("C1:G1").Offset(Target.Row - 1).Clear
End If
End Sub
    • good
    • 0
この回答へのお礼

ご親切な説明頂きありがとうございます。

入力するのと計算結果では変わるんですね
勉強になりました。

お礼日時:2012/08/15 11:30

>A1セルに、 1 と入力した際に



セルに入力したタイミングで実行したいのであれば、Changeイベントになります。
そのシートの見出しで右クリックコード表示で以下を記述します。


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
If Target.Value = 1 Then
Range("C1:G1").Offset(Target.Row - 1).Clear
End If
End If
End Sub

この回答への補足

ありがとうございます。

A1の計算結果が、1 の場合はできないのでしょうか?

宜しくお願い致します。

補足日時:2012/08/14 17:24
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!