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