- ベストアンサー
実行時エラー’13’が表示される
VBA初心者です。 今、C列とAM列に1~10までの数字のリストがあり、 1,5,6を選んだ場合に”時間を入力してください”という メッセージを出すVBAを組んでいるのですが、 入力した数値をDelteで消した場合に実行時エラー'13'が表示されます。 ちなみにBackSpaceで消した時は何も出ません。 以下、VBAの記述です。 Private Sub Worksheet_Change(ByVal Target As Range) If (Target.Value = 1 Or Target.Value = 5 Or Target.Value = 6) Then MsgBox ("時間を入力してください") End If End Sub ヘルプをみてもよく分かりません。 誰かお詳しい方がいらっしゃいましたらご教授願います。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
>>セル1個のDeleteでもエラーになりますか? >セル1個のDeleteでエラーになります。 Excel2007ではエラーにならないのですが、もしかして結合セルだとかいうことはないでしょうか。 その場合でも If Target.Count > 1 Then Exit Sub で対処できると思います。 実行時エラー'13'の内容はどうなっているでしょうか。
その他の回答 (1)
- xls88
- ベストアンサー率56% (669/1189)
セル1個のDeleteでもエラーになりますか? 複数のセルをDeleteしているのではありませんか? 例えば If Target.Count > 1 Then Exit Sub のように TargetをCountして、1以上ならExit Sub(Supプロシージャから抜ける) します。 余談ですが、 Intersectメソッドで、Target範囲を限定することができます。
お礼
早速の回答ありがとうございます。 >セル1個のDeleteでもエラーになりますか? セル1個のDeleteでエラーになります。 >複数のセルをDeleteしているのではありませんか? 複数のセルでもエラーになります。 Intersectメソッドはちょっと調べてみます。
お礼
仰るとおり、結合セルです。 If Target.Count > 1 Then Exit Sub で対処できました。 本当にありがとうございます。