VBA/Excel/Access/Word/Excel/Excel to Text File
Exporting a range to a text file
Sub ExportRange()
FirstCol = 1
LastCol = 3
FirstRow = 1
LastRow = 3
Open ThisWorkbook.Path & "\textfile.txt" For Output As #1
For r = FirstRow To LastRow
For c = FirstCol To LastCol
Dim vData As Variant
vData = Cells(r, c).value
If IsNumeric(vData) Then vData = Val(vData)
If c <> LastCol Then
Write #1, vData;
Else
Write #1, vData
End If
Next c
Next r
Close #1
End Sub
Importing a text file to a range
Sub ImportRange2()
Set ImpRng = ActiveCell
Open ThisWorkbook.Path & "\textfile.txt" For Input As #1
txt = ""
Application.ScreenUpdating = False
Do While Not EOF(1)
Line Input #1, vData
For i = 1 To Len(vData)
char = Mid(vData, i, 1)
If char = "," Or i = Len(vData) Then
Debug.Print txt
Else
If char <> Chr(34) Then _
txt = txt & Mid(vData, i, 1)
End If
Next i
Loop
Close #1
Application.ScreenUpdating = True
End Sub
TextToColumns Example
Sub TestTextToColumns()
Dim rg As Range
Set rg = ThisWorkbook.Worksheets("Text to Columns").Range("a20").CurrentRegion
CSVTextToColumns rg, rg.Offset(15, 0)
CSVTextToColumns rg
Set rg = Nothing
End Sub
Sub CSVTextToColumns(rg As Range, Optional rgDestination As Range)
If IsMissing(rgDestination) Or rgDestination Is Nothing Then
rg.TextToColumns , xlDelimited, , , , , True
Else
rg.TextToColumns rgDestination, xlDelimited, , , , , True
End If
End Sub