0

4 つの列 (A、B、C、D) にデータがあります。列 D のほとんどのセルは空ですが、データが含まれているセルもあります。

まず、列 D のデータを列 A と比較します。データが一致する場合は、データに対応する列 A の行全体を削除します...一致しない場合は、列 D のデータを青色で強調表示する必要があります。

4

1 に答える 1

1

新しいシートを作成する
問題が発生した場合のバックアップとして、必要なすべてのデータをコピーします。+を
押して、VisualBasicEditorに移動します。 左側のペインを右クリックします。 モジュールを挿入します。 新しいモジュール(通常は「Module1」と呼ばれます)をダブルクリックします 。以下のコードをコピーして追加します。 AltF11




Function DeleteDuplicates()

Dim wsSheet As Worksheet

Set wsSheet = ThisWorkbook.Worksheets(1) 'Change this to reflect the correct sheet number

wsSheet.Select

Dim i As Integer

i = 1 'Iterator
Dim Str As String

While (Not wsSheet.Cells(i, 1).Value = "") 'Stop when you run out of column A

    If (wsSheet.Cells(i, 1).Value = wsSheet.Cells(i, 4).Value) Then ' Col A = Col B
        Str = CStr(i) & ":" & CStr(i)
        wsSheet.Range(Str).Delete Shift:=xlUp 'Delete Row:Row
        i = i - 1
    Else 'Blank or Different
        Str = CStr(i) & ":" & CStr(i)
        wsSheet.Cells(i, 4).Interior.ColorIndex = 41 '41 = Mid Blue
        wsSheet.Cells(i, 4).Interior.Pattern = xlSolid
    End If

    i = i + 1 'Increment

Wend


End Function

スプレッドシートのインデックス番号を設定すると、問題がないので、を押しF5ます。

于 2012-09-10T13:04:13.377 に答える