
VBA セル入力時、条件でセルの内容を削除する方法について。
VBA初心者です。
o21セルへ入力時、6つの条件で、条件によって下記範囲のセルを常に空欄にする状況を作成したいと思っています。
作動させたところコード13 型がありませんと表示されます。
どのように編集したらよろしいでしょうか。
お手数ですがご回答お願いいたします。
『作成コード』
Private Sub Worksheet_Change(ByVal Target As Range)
If Application.Intersect(Range("$O$21"), arget) Is Nothing Then
If Range("O21").Value = Range("J21") Then
Range("F24:H24").ClearContents
Range("F34:H37").ClearContents
Range("F39:H41").ClearContents
Range("F25:H25").ClearContents
Range("F44:H77").ClearContents
ElseIf Range("O21").Value = Range("J22") Then
Range("F23:H23").ClearContents
Range("F29:H29").ClearContents
Range("F25:H25").ClearContents
Range("F44:H77").ClearContents
ElseIf Range("O21").Value = Range("J23") Then
Range("F23:H23").ClearContents
Range("F29:H29").ClearContents
Range("F24:H24").ClearContents
Range("F34:H37").ClearContents
Range("F39:H41").ClearContents
Range("F26:H26").ClearContents
Range("G80:I81").ClearContents
ElseIf Range("O21").Value = Range("J24") Then
Range("F25:H25").ClearContents
Range("F44:H77").ClearContents
ElseIf Range("O21").Value = Range("J25") Then
Range("F24:H24").ClearContents
Range("F34:H37").ClearContents
Range("F39:H41").ClearContents
ElseIf Range("O21").Value = Range("J26") Then
Range("F23:H23").ClearContents
Range("F29:H29").ClearContents
Else
End If
End If
End Sub
No.1ベストアンサー
- 回答日時:
自分も初級レベルですが。
2行目 arget って Target じゃないですか?
それとこのコードだと、o21セル以外への入力時の処理になってます。
Intersect(Range("$O$21"), Target) Is Nothing の意味をご確認下さい。
また、ClearContentsのたびにWorksheet_Changeのイベントが働いてしまいますから、このような処理の場合は
Application.EnableEvents = False
Application.EnableEvents = True
の切り替えをするのが定番です。
調べてみて下さいね。
ついでに Application.ScreenUpdating も知っておくといいですよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) vba userformで漢字を全角カタカナに 2 2022/07/24 15:38
- Visual Basic(VBA) VBAで列を削除 3 2023/02/01 11:00
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) まとめシートから集計シートへA列のコードが一致したら1行コピーするマクロをネット上で見つけました。こ 1 2022/08/30 14:11
- Visual Basic(VBA) [Excel VBA] このコードでは行の挿入や行の消去をすると13のエラーが出てしまう。 3 2022/12/09 00:29
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/02/02 09:25
- Visual Basic(VBA) 動きっぱなしです。止め方とプロシージャの間違いを教えて下さい! 5 2022/08/15 23:08
- Visual Basic(VBA) データベースから絞り込んでデータを読み込み 1 2023/02/21 19:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
エクセル
-
特定のセルだけ結果がおかしい...
-
エクセルのdatedif関数を使って...
-
【マクロ】アクティブセルの時...
-
【関数】同じ関数なのに、エラ...
-
【マクロ】A列にある、日付(本...
-
エクセルの循環参照、?
-
【マクロ】3行に上から下に並...
-
【マクロ】WEBシステムから保存...
-
【マクロ】EXCELで読込したCSV...
-
iPhoneのExcelアプリで、別のシ...
-
【エクセル】期限アラートについて
-
【条件付き書式】シートの中で...
-
Excelファイルを開くと私だけVA...
-
Excelの新しい空白のブックを開...
-
派遣会社とかハローワークとか...
-
マクロ・VBAで、当該ファイルの...
-
VBA チェックボックスをオーバ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報