Fast reading/writing of CSV files

  • Thread starter Thread starter Chris Jakeman
  • Start date Start date
C

Chris Jakeman

Hi,

As part of a major Excel project, I need to write out a worksheet as a
CSV file and to read it back in.

I've chosen to do this the quick way as the worksheet may have
thousands of rows in it, so I don't want to do file i/o line by line.

I met a few problems along the way which I think I've solved. Anyone
else tried this?

Bye for now,

Chris Jakeman
Peterborough, UK
 
Option Explicit
Sub testme01()
Dim wks As Worksheet
Set wks = Worksheets("sheet1")
wks.Copy 'to a new workbook
With ActiveSheet.Parent
.SaveAs Filename:="whateveryousaveitas.CSV", FileFormat:=xlCSV
.Close savechanges:=False
End With
Workbooks.Open Filename:="whateveryousaveitas.CSV"
End Sub
 
Option Explicit
Sub testme01()
Dim wks As Worksheet
Set wks = Worksheets("sheet1")
wks.Copy 'to a new workbook
With ActiveSheet.Parent
.SaveAs Filename:="whateveryousaveitas.CSV", FileFormat:=xlCSV
.Close savechanges:=False
End With
Workbooks.Open Filename:="whateveryousaveitas.CSV"
End Sub

Thanks, Dave. That's very neat.

Using .SaveAs from the current workbook creates the CSV file but
renames your workbook - which is pretty undesirable. Copying or moving
to new temporary workbook as you've done avoids the problem.


Bye for now,

Chris Jakeman
Peterborough, UK


Bye for now,

Chris Jakeman
Peterborough, UK
 

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