以下のプログラムを使用していますが、プログラムの有効範囲をコピペして増やそうとすると、
「実行事例外13・型の不一致」というメッセージが出てしまいます。
記述に間違っている箇所はないと思うのですが、本件につきまして改善点をご教示いただけると幸いです。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range
Const trg As String = "A1:ZZ1000"
Set Rng = Intersect(Target, Range(trg))
If Not Rng Is Nothing Then
Select Case Rng.Value
Case Is = "犬", "猫", "A"
Rng.Interior.ColorIndex = 7
Case Is = "淡水魚", "海水魚", "B"
Rng.Interior.ColorIndex = 44
Case Is = "牧草", "芝", "C"
Rng.Interior.ColorIndex = 8
Case Else 'その他の値なら色を消す
Rng.Interior.ColorIndex = xlNone
End Select
End If
End Sub
No.1ベストアンサー
- 回答日時:
コピーすると、Target のセルが複数(コピーした分)になります。
よって今回は1つのセルごとに対応しなくてはならないのでエラーになります。
※Select Case Rng.Valueの「Rng」が複数のセルなので値が取得できません。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rng As Range
Dim 複数Rng As Range
Const trg As String = "A1:ZZ1000"
Set 複数Rng = Intersect(Target, Range(trg))
If 複数Rng Is Nothing Then Exit Sub
For Each Rng In 複数Rng
Select Case Rng.Value
Case Is = "犬", "猫", "A"
Rng.Interior.ColorIndex = 7
Case Is = "淡水魚", "海水魚", "B"
Rng.Interior.ColorIndex = 44
Case Is = "牧草", "芝", "C"
Rng.Interior.ColorIndex = 8
Case Else 'その他の値なら色を消す
Rng.Interior.ColorIndex = xlNone
End Select
Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel vbaについての質問 3 2023/04/18 16:14
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 【追加】ファイルを閉じてダイアログで保存した時だけ処理の実行をする 3 2022/03/23 15:43
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Visual Basic(VBA) 【VBAエラー】Nextに対するForがありません 対策について 5 2022/11/21 21:26
- Visual Basic(VBA) 【変更】ファイルを閉じてダイアログで保存した時、更新したシートだけの処理の実行をする 5 2022/03/26 18:31
- Visual Basic(VBA) VBAで教えて頂きたいのですが? 1 2022/04/29 02:36
- Visual Basic(VBA) Worksheet_Change 4 2023/03/12 21:54
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Sub 要具ライフ() ActiveSheet....
-
ExcelVBAを使って、値...
-
i=cells(Rows.Count, 1)とi=cel...
-
特定のセルが空白だったら、そ...
-
Excelで指定した日付から過去の...
-
【Excel VBA】指定行以降をクリ...
-
Excelのプルダウンで2列分の情...
-
VBAを使用した時間管理
-
エクセル マクロで セルの範...
-
EXCELのVBA-フィルタ抽出後の...
-
EXCELで変数をペーストしたい
-
Excel vbaで特定の文字以外が入...
-
特定の文字を条件に行挿入とそ...
-
DataGridViewの各セル幅を自由...
-
screenupdatingが機能しなくて...
-
【Excel】指定したセルの名前で...
-
VBAでセルに値が入ったときにイ...
-
TODAY()で設定したセルの日付...
-
VBからEXCELのセルの値を取得す...
-
DataGridViewのセル編集完了後...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
i=cells(Rows.Count, 1)とi=cel...
-
【Excel VBA】指定行以降をクリ...
-
【マクロ】プルダウンが設定し...
-
Excelで指定した日付から過去の...
-
VBA実行後に元のセルに戻りたい
-
【Excel】指定したセルの名前で...
-
Excel vbaで特定の文字以外が入...
-
特定の文字を条件に行挿入とそ...
-
EXCELで変数をペーストしたい
-
【EXCEL VBA】Range("A:A").Fi...
-
エクセルVBAでコピーして順...
-
連続する複数のセル値がすべて0...
-
screenupdatingが機能しなくて...
-
Excel VBA、 別ブックの最終行...
-
任意フォルダから画像をすべて...
-
Excelのプルダウンで2列分の情...
-
【VBA】カーソルのある行の1行...
-
VBAコマンドボタンを押すたびに...
おすすめ情報