Excel

エクセルVBAでCountIf関数を使って入力内容が重複したセルを赤塗りにする方法

エクセルVBAでCountIf関数を使ってエクセル表内の入力内容が重複したセルを赤塗りにする方法をご紹介します。

エクセル表内の入力内容が重複したセルを赤塗りにするエクセルイメージ

エクセルの表内(A1~E2)で重複した文字を入力した場合以下の様に赤塗りにします。

エクセル表内の入力内容が重複したセルを赤塗りにするエクセルイメージ

エクセルVBAでCountIf関数を使ってエクセル表内の入力内容が重複したセルを赤塗りにするVBAの記述

※Worksheet_Change()はエクセルシート内で変更があった場合の処理です。CountIfを使ってA1~E2範囲内(A1:E2)で同じ文字があった場合、そのセルを赤塗りにし、それ以外はセルの塗りを無しにする処理を記述しました。

Private Sub Worksheet_Change(ByVal Target As Range)

    Dim h As Long
    Dim i As Long
    
    For h = 0 To 1
        For i = 1 To 5
            If WorksheetFunction.CountIf(Range("A1:E2"), Cells(1 + h, i)) > 1 Then
                Cells(1 + h, i).Interior.ColorIndex = 3
            Else
                Cells(1 + h, i).Interior.ColorIndex = 0
            End If
        Next i
    Next h
    
End Sub

エクセルVBAでCountIf関数を使って入力内容が重複したセルを赤塗りにする参考ファイル:yo1tec/VBA-CountIf

以下より参考ファイルがダウンロード出来ます。
yo1tec/VBA-CountIf

 
※流用される場合は自己責任でお願いします。