3

セルの更新時に自動実行される小さな Excel マクロを作成しようとしています。

Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Value = "N/A" Then
        Target.Interior.Color = RGB(205, 201, 201)
    End If

    If Target.Value = "Pass" Then
        Target.Interior.Color = RGB(0, 255, 0)
    End If

    If Target.Value = "Fail" Then
        Target.Interior.Color = RGB(255, 0, 0)
    End If

End Sub

ただし、他の複数のセルにセルをコピーして貼り付けようとすると、次のエラーが発生します。

実行時エラー '13': 型が一致しません。

それはなぜですか、どうすれば修正できますか?

4

1 に答える 1

4

この場合、 に複数のセルがあるためTargetです。このコードを試してください

セルの色を変更してもイベントが再トリガーされない場合でも、Events作業するときの良い習慣であるため、無効にしましたWorksheet_Change

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng1 As Range

With Application
.EnableEvents = False
.ScreenUpdating = False
End With

For Each rng1 In Target.Cells
   Select Case rng1.Value
   Case "N/A"
    Target.Interior.Color = RGB(205, 201, 201)
   Case "Pass"
      Target.Interior.Color = RGB(0, 255, 0)
       Case "Fail"
      Target.Interior.Color = RGB(255, 0, 0)
    End Select
Next

With Application
.EnableEvents = True
.ScreenUpdating = True
End With

End Sub
于 2013-03-25T09:29:53.260 に答える