• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAにて指定範囲以外処理時複数セルの場合エラーになる。)

エクセルVBAで指定範囲以外の複数セル処理時にエラーが発生する場合の対処方法

このQ&Aのポイント
  • エクセルVBAを使用して特定の範囲以外を処理しようとすると、複数のセルを選択した場合にエラーが発生します。このエラーを回避するためには、Worksheet_SelectionChangeイベントを使用して特定の範囲内のセルのみを処理するようにする必要があります。
  • Worksheet_SelectionChangeイベントを使用すると、セルの選択範囲が変更された時に処理を実行することができます。特定の範囲内のセルが選択された場合は処理を実行し、範囲外のセルが選択された場合は処理をスキップします。
  • 具体的な処理方法としては、Targetパラメータを使用して選択された範囲を取得し、Intersect関数を使用して特定の範囲との重なりを判定します。重なりがある場合は処理を実行し、重なりがない場合はスキップします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hige_082
  • ベストアンサー率50% (379/747)
回答No.1

これでよい? Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim C As Variant Dim i As Integer Dim Rng As Range For Each Rng In Target If Not Intersect(Range("e36:i40"), Rng) Is Nothing Then Select Case Rng.Row Case 36 C = Split("3 0 0 0 0") Case 37 C = Split("0 3 0 0 0") Case 38 C = Split("0 0 3 0 0") Case 39 C = Split("0 0 0 3 0") Case 40 C = Split("0 0 0 0 3") End Select Else C = Split("0 0 0 0 0") End If For i = 0 To 4 ActiveSheet.Shapes(i + 1).Select Selection.Font.ColorIndex = C(i) Next i Next Rng Target.Select End Sub

hooper
質問者

お礼

hige_082様 大変お世話になりました。 問題なく解決する事が出来ました。 深く感謝申し上げます。

関連するQ&A