回答編集履歴
2
コード修正
    
        answer	
    CHANGED
    
    | @@ -9,7 +9,7 @@ | |
| 9 9 | 
             
                Dim Hani As Range
         | 
| 10 10 |  | 
| 11 11 | 
             
                EndRow = Range("E" & Rows.Count).End(xlUp).Row
         | 
| 12 | 
            -
                For i = EndRow To  | 
| 12 | 
            +
                For i = EndRow To 3 Step -1
         | 
| 13 13 | 
             
                    Set Hani = Range(Range("E2"), Range("E" & i - 1))
         | 
| 14 14 | 
             
                    For Each rng In Hani
         | 
| 15 15 | 
             
                        If rng.Value = Range("E" & i) And rng.Offset(, 4).Value = Range("I" & i) Then
         | 
1
コード追加
    
        answer	
    CHANGED
    
    | @@ -23,4 +23,25 @@ | |
| 23 23 | 
             
                    End If
         | 
| 24 24 | 
             
                Next i
         | 
| 25 25 | 
             
            End Sub
         | 
| 26 | 
            +
            ```
         | 
| 27 | 
            +
             | 
| 28 | 
            +
            ---
         | 
| 29 | 
            +
            Dictionaryを使って重複チェックするコード例
         | 
| 30 | 
            +
             | 
| 31 | 
            +
            ```vba
         | 
| 32 | 
            +
            Sub DataDelete2()
         | 
| 33 | 
            +
                Dim d As Object
         | 
| 34 | 
            +
                Set d = CreateObject("Scripting.Dictionary")
         | 
| 35 | 
            +
                Dim EndRow As Long
         | 
| 36 | 
            +
                EndRow = Range("E" & Rows.Count).End(xlUp).Row
         | 
| 37 | 
            +
                
         | 
| 38 | 
            +
                Dim i As Long
         | 
| 39 | 
            +
                For i = EndRow To 2 Step -1
         | 
| 40 | 
            +
                    If d.Exists(Cells(i, "E") & ";" & Cells(i, "I")) Then
         | 
| 41 | 
            +
                         Range("E" & i).EntireRow.Delete
         | 
| 42 | 
            +
                    Else
         | 
| 43 | 
            +
                        d(Cells(i, "E") & ";" & Cells(i, "I")) = i
         | 
| 44 | 
            +
                    End If
         | 
| 45 | 
            +
                Next i
         | 
| 46 | 
            +
            End Sub
         | 
| 26 47 | 
             
            ```
         | 
