Macro to Create text file from range of cells?

  • Thread starter Thread starter Joan Roco
  • Start date Start date
J

Joan Roco

Hi folks,
I hope you can help me on this.
It will greatly simplify my life:

I need a simple macro to create a text file from a range
of cells.

Thanks,
-joan

P.S. to email me directly, remove nospam from the address.
 
''Outputs the selection if more than one cell is selected, else entire sheet
Sub CreateCSVFile()
Dim SrcRg As Range
Dim CurrRow As Range
Dim CurrCell As Range
Dim CurrTextStr As String
Dim ListSep As String
Dim FName As Variant
FName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")
If FName <> False Then
ListSep = Application.International(xlListSeparator)
'ListSep = "," 'use this to force commas as separator regardless of
regional settings
If Selection.Cells.Count > 1 Then
Set SrcRg = Selection
Else
Set SrcRg = ActiveSheet.UsedRange
End If
Open FName For Output As #1
For Each CurrRow In SrcRg.Rows
CurrTextStr = ""
For Each CurrCell In CurrRow.Cells
CurrTextStr = CurrTextStr & CurrCell.Value & ListSep
Next
While Right(CurrTextStr, 1) = ListSep
CurrTextStr = Left(CurrTextStr, Len(CurrTextStr) - 1)
Wend
Print #1, CurrTextStr
Next
Close #1
End If
End Sub


--
Jim Rech
Excel MVP
| Hi folks,
| I hope you can help me on this.
| It will greatly simplify my life:
|
| I need a simple macro to create a text file from a range
| of cells.
|
| Thanks,
| -joan
|
| P.S. to email me directly, remove nospam from the address.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Back
Top