Exporting txt file

A

ajshap1

I have multiple rows within a worksheet and need them to automatically
save into a separate txt file.

Example:

I have a workbook with rows b-z. Instead of taking each of the rows
and copying and pasting it into another separate excel file, then
saving in a txt format, is there a way to automate this?

So that the following will occur:

Column B 950 line is one file
Column C 950 lines is another
column D lines in another txt file.....etc

I have some code listed below, however, it reads the first column cell
by cell. It does not group column by column grouping all data within
that column as on txt file

Thanks




Code:
Sub notebook_save()
Set wkbk = Workbooks.Add
Sheets("Sheet1").Select
RowCount = Cells(Cells.Rows.Count, "a").End(xlUp).Row
For i = 1 To RowCount
Sheets("Sheet1").Select
Range("a" & i).Select
ActiveCell.EntireRow.Copy
Sheets("Sheet2").Select
Range("a1").Select
ActiveSheet.Paste
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs _
Filename:="c:\save" & i & ".txt", _
FileFormat:=xlTextMSDOS
wkbk.Close
Next
Application.DisplayAlerts = True
End Sub
 
D

Dave Peterson

I'm confused about whether you want a file for each row or for each column.

If you really want the rows, maybe this will help:

Option Explicit
Sub notebook_save()
Dim CurWks As Worksheet
Dim NewWks As Worksheet
Dim iRow As Long
Dim LastRow As Long

Set CurWks = ActiveSheet
Set NewWks = Workbooks.Add(1).Worksheets(1)

With CurWks
LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For iRow = 1 To LastRow
.Rows(iRow).Copy _
Destination:=NewWks.Range("a1")
NewWks.Parent.SaveAs Filename:="c:\save" & iRow & ".txt", _
FileFormat:=xlTextMSDOS
Next iRow
End With

NewWks.Parent.Close savechanges:=False
End Sub

ps.

Is "C:\save" a folder or the prefix for the name?
maybe...
Filename:="c:\save\" & iRow & ".txt"
or
Filename:="c:\save\" & format(iRow,"00000") & ".txt"
 

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

Top