I do this kind of thing everyday as the database we use churns out comma delimited files(which excel doesn't recognise as csv's). This wizard also comes up when you try to open a text file which excel doesn't recognise.
You can do this by VBA as well,
such as
Workbooks.OpenText MyFile, DataType:=xlDelimited, Other:="|"
'or
Range("A1:A10").TextToColumns DataType:=xlDelimited, Other:="|"
I looked at your code and thought Ouch! So i thought i give the poor chap a chance at understanding it.
All the Best
David