アクティブセルとのデータの比較−アクティブ行(列)との相違
”アクティブ行(列)との相違”の機能はメニューから”編集”−”ジャンプ”
 − ”セル選択”で表示される選択オプションダイアログでして出来る機能です。

サンプル1ではアクティブセルと、アクティブセルを含む行のデータを比較し、
相違するセルを選択します。

(サンプル1)

    Dim TargetRow As Range
    Dim Different As Range

    Set TargetRow = ActiveCell.EntireRow
    Set Different = TargetRow.RowDifferences(ActiveCell)

    Different.Select

※RowDifferencesメソッド、ColumnDifferencesメソッドの引数に基準となるセル
 を指定します。

サンプル2では、アクティブシートのデータをA列のセルを基準に項目行以外の
すべての列をチェックし、相違セルに塗りつぶしを設定します。

(サンプル2)

※一行目を項目行とし、比較基準セルをA列の各行のセルとする

Sub PaintDifCell()

    Dim DataArea As Range, TargetRow As Range, Different As Range
    Dim i As Long

    Set DataArea = Range("A1").CurrentRegion

    For i = 2 To DataArea.Rows.Count
    
        On Error GoTo Err_Proc
        DataArea.Rows(i).RowDifferences(Cells(i, 1)). _
            Interior.Color = RGB(250, 150, 250) '相違セルの塗りつぶし
    
    Next i

    Exit Sub

    'エラー番号1004を相違セルがない場合とみなしてエラー処理
Err_Proc:

    If Err.Number = 1004 Then
        Err.Clear
        Resume Next
    Else
        MsgBox "Error : " & Err.Description
        Exit Sub
    End If

End Sub

Excel97/2000



戻る


Excel Word Access VBA! モーグ