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