I need to create a macro that will select a range each time it is run and not store the range from the time before the code I have been trying to use is below:

Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.ClearContents
Range("A3").Select
Workbooks.Open Filename:= _
"C:\Documents and Settings\jroesner0\My Documents\ERRLOG.CSV"
Columns("D:D").Select
ActiveSheet.Range("$D$1:$D$222").RemoveDuplicates Columns:=1, Header:=xlNo
Range("D1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveWorkbook.Close savechanges:=False
Range("A3").Select
ActiveSheet.Paste
Range("D3").Select
Workbooks.Open Filename:= _
"C:\Documents and Settings\jroesner0\My Documents\ERRLOG.CSV"
Columns("F:F").Select
ActiveSheet.Range("$F$1:$F$222").RemoveDuplicates Columns:=1, Header:=xlNo
Range("F1").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
ActiveWorkbook.Close savechanges:=False
Range("D3").Select
ActiveSheet.Paste
Range("A1").Select

The CSV file is a monthly file that has our errors and dates in it I need to pull the unique processes out and dates. Then copy them to an open worksheet. The issue is the range seems to be saved in the macro and even if no data I get things pasted into my open sheet or things excluded since it only copies the number in the range.

Thank you for reviewing and suggestions :