▽1
●
きゃづみぃ ●100ポイント ベストアンサー |
Sub main() Dim p As String '対象フォルダを指定してください。 'このフォルダに この実行用のブックは 入れないでください。 p = "C:\test\" '処理対象となる拡張子を指定して 呼び出します。 Call jikkou(p, "csv") End Sub Sub jikkou(p As String, s As String) Dim bk() As String Application.DisplayAlerts = False f = Dir(p & "*." & s, vbNormal) Do While f <> "" k = 0 ReDim bk(k) ch1 = FreeFile Open p & f For Input As #ch1 Do While Not EOF(ch1) 'ファイルの終端かどうかを確認します Line Input #ch1, textline 'データ行を読み込みます ReDim Preserve bk(k) bk(k) = textline k = k + 1 Loop Close #ch1 ch2 = FreeFile Open p & f For Output As #ch2 For i = 0 To k - 1 If bk(i) <> "" Then For b = i + 1 To k - 1 If bk(i) = bk(b) Then bk(b) = "" End If Next b Print #ch2, bk(i) 'データの書き込みをします End If Next i Close #ch2 f = Dir Loop Application.DisplayAlerts = True End Sub
ボタンとかは使わず重複行をすべて削除して重複しないようにしました。
行全体で 重複のチェックをしています。