Sub Jyuufuku01() Dim ws01 As Worksheet Dim HIKAKU As Range Dim KEN01, JYUUFUKU, i As Long Set ws01 = Worksheets("Sheet1") 'ワークシートの設定 KEN01 = ws01.Cells(Rows.Count, "A").End(xlUp).Row 'A列の最終行を設定する JYUUFUKU = 2 For i = 2 To KEN01 Set HIKAKU = ws01.Columns("E").Find(What:=ws01.Cells(i, "A"), LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) 'A列とE列を比較する If HIKAKU Is Nothing Then '比較して無い場合は、下記を実行 ws01.Cells(JYUUFUKU, "E") = ws01.Cells(i, "A") '追加する文字を転記する。(コード) JYUUFUKU = JYUUFUKU + 1 End If Next i 'A列データの最終行までループ End Sub
Sub jyuufuku02() Dim Corp As New Collection Dim i, mRow As Long Dim ws01 As Worksheet Set ws01 = Worksheets("Sheet1") 'ワークシートの設定 mRow = ws01.Cells(Rows.Count, "A").End(xlUp).Row 'A列の最終行を設定 On Error Resume Next 'エラーが発生しても続行する。 For i = 2 To mRow 'A列の最終行データまで繰り返す Corp.Add ws01.Cells(i, "A"), ws01.Cells(i, "A") 'コレクションに追記 Next i On Error GoTo 0 For i = 1 To Corp.Count 'コレクションデータ最終件数まで繰り返す ws01.Cells(i + 1, "E") = Corp(i) 'コレクションデータを順番に取り出す。 Next i End Sub
Sub Jyuufuku03() Dim ws01, ws02 As Worksheet Dim HIKAKU As Range Dim KEN01, JYUUFUKU, JYUUFUKU_COUNT, i As Long Set ws01 = Worksheets("Sheet1") 'ワークシートの設定(元のデータ) Set ws02 = Worksheets("Sheet2") 'ワークシートの設定(結果) KEN01 = ws01.Cells(Rows.Count, "A").End(xlUp).Row 'A列の最終行を設定する JYUUFUKU = 2 JYUUFUKU_COUNT = 0 For i = 2 To KEN01 Set HIKAKU = ws02.Columns("A").Find(What:=ws01.Cells(i, "A"), LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False) 'シート1:A列とシート2:A列を比較する If HIKAKU Is Nothing Then '比較して無い場合は、下記を実行 ws02.Cells(JYUUFUKU, "A") = ws01.Cells(i, "A") '追加する文字を転記する。(コード) ws02.Cells(JYUUFUKU, "B") = ws01.Cells(i, "B") ws02.Cells(JYUUFUKU, "C") = ws01.Cells(i, "C") JYUUFUKU = JYUUFUKU + 1 Else ws01.Range("A" & i & ":C" & i).Interior.ColorIndex = 41 '重複する該当セルを青で塗りつぶします。 JYUUFUKU_COUNT = JYUUFUKU_COUNT + 1 '重複件数をカウントする End If Next i 'A列データの最終行までループ MsgBox "重複した件数は" & JYUUFUKU_COUNT & "件です。" End Sub