I normally do not respond to posts that don't have a sample file attached since it's too much work (normally) to recreate the issue or requirement. In other words, if you attach a sample file, it is more likely that someone will respond.
Having said that, I just happened to have a CSV file laying around so I went forth and VBA'ed.
The odd thing about this spreadsheet is that it is merely a container for the VB code and except for some parameters you supply, doesn't get involved in the program at all.
Cell B1 contains the path name to where the CSV file exists.
Cell B2 contains the name of the CSV file.
Cell B3 contains the name of the output file.
If cell B3 is blank, then the program creates a name based on the CSV file name. So XYZ.csv gets written to XYZ.xls.
Some of this programming (autofit and conditional formatting) was done by recording macros and modifying them.
In answer to one of your questions, note the computation of LRowC and LColC. These are "standard" formulas for getting the last row in a column and the last column on a row.
Bookmarks