Excel VBAコードの解説: 同じ値を判定


Excel VBAコードの解説: 同じ値を判定


Sub 同じ値を判定()

    Dim ws As Worksheet

    Dim cellA As Range

    Dim cellB As Range

    Dim lastRow As Long

    Dim i As Long

    

    ' Set the worksheet where your data is located

    Set ws = ThisWorkbook.Sheets("Sheet1") ' Change "Sheet1" to your sheet name

    

    ' Find the last row in column A

    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

    

    ' Loop through rows A1 to the last row

    For i = 1 To lastRow

        Set cellA = ws.Range("A" & i)

        Set cellB = ws.Range("B" & i)

        

        If cellA.Value = cellB.Value Then

            ' If the values are the same, highlight both cells in yellow

            cellA.Interior.Color = RGB(255, 255, 0) ' Yellow

            cellB.Interior.Color = RGB(255, 255, 0) ' Yellow

        End If

    Next i

End Sub


 このExcel VBAコードは、指定されたワークシート内の2つの列(A列とB列)の値が同じかどうかを判定し、同じ場合にセルの背景色を黄色にハイライトします。以下にコードの詳細を解説します。

  1. ワークシートの設定

    • Set ws = ThisWorkbook.Sheets("Sheet1"):この行では、ワークブック内の特定のシート(ここでは"Sheet1")を指定しています。必要に応じてシート名を変更してください。
  2. 最終行の取得

    • lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row:この行では、A列の最終行を取得しています。これにより、データが入力されている範囲を特定します。
  3. ループ処理

    • For i = 1 To lastRow:A1から最終行までの各行に対して以下の処理を繰り返します。
    • Set cellA = ws.Range("A" & i):現在の行のA列のセルを取得します。
    • Set cellB = ws.Range("B" & i):現在の行のB列のセルを取得します。
  4. 値の比較とハイライト

    • If cellA.Value = cellB.Value Then:A列とB列の値が同じ場合、以下の処理を実行します。
    • cellA.Interior.Color = RGB(255, 255, 0):A列のセルの背景色を黄色に変更します。
    • cellB.Interior.Color = RGB(255, 255, 0):B列のセルの背景色も黄色に変更します。

 

 このコードは、ExcelのVBAマクロを使用してデータの整理や重複のチェックを行う際に便利です😊。