40

I want to import a CSV file to Excel. The CSV file has comma separated data (go figure), but the delimiter in the Text Import Wizard is set to "Tab" by default. How can I change the default to "Comma" instead?

1
  • 1
    fergulator has an answer that works well Oct 30, 2012 at 14:19

3 Answers 3

12

This is a Windows setting that will be used by all programs that refer to it (Excel in this case).

  1. Click the Start button, and then click Control Panel.
  2. Open the Regional and Language Options dialog box.
  3. Do one of the following: In Windows Vista/7, click the Formats tab, and then click Customize this format. In Windows XP, click the Regional Options tab, and then click Customize.
  4. Type a new separator in the List separator box.
  5. Click OK twice.
4
  • 7
    This doesn't works...
    – Stormenet
    Sep 16, 2011 at 8:33
  • 3
    It works when you use the normal file->open procedure Oct 30, 2012 at 14:19
  • Excel ignores this locale setting for common data file extensions like .dat and .txt Aug 21, 2015 at 20:12
  • 1
    An additional solution is to start your csv files with sep=,\n This will allow users of all Language Options to read the file but dots will not automatically be used as the fixed point digit seperator so numbers might be very wrong! Mar 19, 2017 at 13:43
23

(Assuming the Office 2003 interface)

Don't use File > Open.

Instead use Data > Import External Data > Import Data...

This will invoke the Text Import Wizard, which lets you choose the delimiter. Text Import Wizard - Step 1 Text Import Wizard - Step 2

Or, if you're using the newer interface, go to the Data tab > From Text:

Text Import 2007

This will pull up a File Open dialog, followed by the same Text Import dialog.

3
  • 11
    Yes, I am aware of the Text Import Wizard, I should have mentioned it in the question, not just the title. What I want to do is change the default from "Tab" to "Comma" in that wizard. Its a pain to have to change it when I never have tab delimited imports.
    – Lars
    Jun 1, 2011 at 11:13
  • @Lars: datatoo's pointer to Dave Peterson's solution works perfectly well for me.
    – PonyEars
    Jan 9, 2014 at 1:56
  • Works for Excel 2017 on the Mac as well ;-) Oct 13, 2017 at 12:34
6

Excel appears to use the last used delimiter in the session. Dave Peterson describes a possible solution here You essentially create a macro that sets the default delimiter and place it in the xlstart folder. If you are doing this for a file on other peoples machines, that is not probably going to work, but this is how you would approach it, programatically on your own system, and you may adapt it to your situation. Running the following code should set the delimiter for you beforehand. This will operate on an existing session. So if you have content that expects specific delimiters setup, run something like this prior to your import, setting whatever parameters you like

With ThisWorkbook.Worksheets(1).Range("a1")
 .TextToColumns Destination:=.Columns(1), DataType:=xlDelimited, TextQualifier:=xlDoubleQuote,  ConsecutiveDelimiter:=True, Tab:=False, Semicolon:=False, Comma:=True, Space:=False, Other:=False
End With
ThisWorkbook.Close SaveChanges:=False
1
  • 1
    It does not use the last one on my system I have to change it every time -- even if I just changed it in the same workbook.
    – Hogan
    Aug 11, 2017 at 19:18

Not the answer you're looking for? Browse other questions tagged or ask your own question.