1

私の主なデータ入力は、「マスター」という名前のワークシートです。単語が入力されたときに範囲 A2:A1000 をチェックインしたい。"CBI"、"Fire"、"InCase"、または "LEA" の場合、列 I (Offset(0, 8)) には何も入力されていない (Interior.ColorIndex = -4142) ため、列 I (オフセット (0, 8)) で何も行う必要はありません。ただし、範囲 A2:A1000 に他の単語が入力されている場合、列 I (オフセット(0, 8)) は別の色 (Interior.Color = RGB(255, 231, 255)) に変更されます。「ワークシート」と「変更」を含む個別のワークシートを選択しましたが、交差を機能させることができません。コードが反復的であることはわかっています...「CBI」、「Fire」、「InCase」、「LEA」などの複数の引数を使用したいのですが、最初のIfターゲット行でクラッシュします。または、Select Case 引数の方が適している場合もあります。「セルの変更時に vba を実行する」という検索で stackoverflow の結果を確認し、変更を試みましたが成功しませんでした。また、正常に動作する他の Subs がある単独のモジュールでいくつかのコーディングを試みましたが、これについての助けをいただければ幸いです。

        Private Sub Worksheet_Change(ByVal Target As Range)

        'Change interior color in Offset cell if certain words not entered in Range A2:A1000

            If Not Intersect(Target, Range("A2:A1000")) Is Nothing Then

                If Target(Range("A2:A1000"), "CBI") > 0 Then
                    ActiveCell.Offset(0, 8).Interior.ColorIndex = -4142
            Else
                If Target(Range("A2:A1000"), "Fire") > 0 Then
                    ActiveCell.Offset(0, 8).Interior.ColorIndex = -4142
            Else
                If Target(Range("A2:A1000"), "InCase") > 0 Then
                    ActiveCell.Offset(0, 8).Interior.ColorIndex = -4142
            Else
              If Target(Range("A2:A1000"), "LEA") > 0 Then
                    ActiveCell.Offset(0, 8).Interior.ColorIndex = -4142
            Else
                ActiveCell.Offset(0, 8).Interior.Color = RGB(255, 231, 255)
            End If
  
          End If

        End Sub
4

2 に答える 2