Earl Kiosterud, who was a Microsoft MVP for Excel some years back, created the 'text write program.'
I have just become aware that Earl's smokeylake.com site is no longer operational.
I downloaded a version from the Wayback Machine website (http://web.archive.org/web/20100515203138/http:/www.smokeylake.com/excel/text_write_program.htm). It is available from the link below. The accompanying documentation is below:
The workbook is made available "as is." It is up to you to ensure that it works properly for you. Use it at your own risk and discretion.
Here you specify your options. There is help on the options. A typical setup sheet:
|File Name to write:||a.txt, or C:\My Documents\a.txt|
|Record Delimiter: Code/Character||13,10|
|Stop if Record Delimiter found in cell?:||Yes|
|Field Delimiter: Code/Character||, (comma)|
|Bracketing Code/Character (text qualifier):||" (quotation mark)|
|Bracket data fields?:||Yes|
|Bracket blank fields also?:||No|
|Skip blank rows?:||No|
|Write entire sheet?:||Yes|
|If no, Expand selection?:||No|
|If no, write rectangular?:||No|
Then you switch to the sheet to be written (in any open workbook), and press Ctrl-Shift-W. It writes the file, letting you know its progress.
Download Text Write Program (from the Wayback Machine archive)
The Text Write Program is now at the 1e level. Text Write Program-1e.xls. The following changes were made:
It can write sheets with more than 32K rows.
It disallows making any user changes while running to prevent incorrect output.
The program cannot write more than 1024 characters from a cell (or maybe 1023). This appears to be a VBA limitation, and I don't know of any workaround. The program uses the Range().Text method to get the cell data, as formatted and the limitation appears to be there.