Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default Import multiple csv files into current workbook as separate sheets

Hi All,

I dont have much expertise in VBA but trying to learn.

I am trying to import multiple csv files into excel. I have a macro
from this forum to import the files one by one. But I want to be able
to select and open the multiple files at once. Also with the macro that
i have, the names of shees are coming like Sheet1, Sheet2 etc. I want
to retain the names of the files for the sheets if possible.

Many thanx for your efforts.

Appending the macro I am using. U can suggest completely different
approach If you think that open dialog box is not best.

Using Excel 2003. Not much expertise in VBA.

Thank You,

Santosh


Sub ImportTextUsingXlDialogOpen()

'\ use this approach to prompt user for text wizard values

Application.ScreenUpdating = False
Application.DisplayAlerts = False


'\ display open file dialog and copy to new (temporary workbook)
'On error resume next - traps for user clicking cancel in the
import dialog
'Error number is 1004 - is so exit the procedure
On Error Resume Next
If Application.Dialogs(xlDialogOpen).Show("*.csv") Then
If Err.Number = 1004 Then
Exit Sub
End If
ActiveSheet.UsedRange.Select '\ select imported text in
temporary workbook
Selection.Copy '\ copy to clipboard
ActiveWorkbook.Close '\ close temporary workbook
Worksheets.Add
Range("A1") = "Dialogs(xlDialogOpen) Method"
Range("A2").Select
ActiveSheet.Paste '\ paste text into your
workbook
End If

Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default Import multiple csv files into current workbook as separate sheets

Try this

Use this macro then if the files are in C:\Data
More info here
http://www.rondebruin.nl/copy3.htm


Sub Example12()
Dim MyPath As String
Dim FilesInPath As String
Dim MyFiles() As String
Dim SourceRcount As Long
Dim Fnum As Long
Dim mybook As Workbook
Dim basebook As Workbook

'Fill in the path\folder where the files are
'on your machine
MyPath = "c:\Data"

'Add a slash at the end if the user forget it
If Right(MyPath, 1) < "\" Then
MyPath = MyPath & "\"
End If

'If there are no Excel files in the folder exit the sub
FilesInPath = Dir(MyPath & "*.csv")
If FilesInPath = "" Then
MsgBox "No files found"
Exit Sub
End If

On Error GoTo CleanUp

Application.ScreenUpdating = False
Set basebook = ThisWorkbook

'Fill the array(myFiles)with the list of Excel files in the folder
Fnum = 0
Do While FilesInPath < ""
Fnum = Fnum + 1
ReDim Preserve MyFiles(1 To Fnum)
MyFiles(Fnum) = FilesInPath
FilesInPath = Dir()
Loop

'Loop through all files in the array(myFiles)
If Fnum 0 Then
For Fnum = LBound(MyFiles) To UBound(MyFiles)
Set mybook = Workbooks.Open(MyPath & MyFiles(Fnum))
mybook.Worksheets(1).Copy after:= _
basebook.Sheets(basebook.Sheets.Count)

On Error Resume Next
ActiveSheet.Name = mybook.Name
On Error GoTo 0

' You can use this if you want to copy only the values
' With ActiveSheet.UsedRange
' .Value = .Value
' End With

mybook.Close savechanges:=False
Next Fnum
End If
CleanUp:
Application.ScreenUpdating = True
End Sub



--
Regards Ron de Bruin
http://www.rondebruin.nl


"santosh" wrote in message oups.com...
Hi All,

I dont have much expertise in VBA but trying to learn.

I am trying to import multiple csv files into excel. I have a macro
from this forum to import the files one by one. But I want to be able
to select and open the multiple files at once. Also with the macro that
i have, the names of shees are coming like Sheet1, Sheet2 etc. I want
to retain the names of the files for the sheets if possible.

Many thanx for your efforts.

Appending the macro I am using. U can suggest completely different
approach If you think that open dialog box is not best.

Using Excel 2003. Not much expertise in VBA.

Thank You,

Santosh


Sub ImportTextUsingXlDialogOpen()

'\ use this approach to prompt user for text wizard values

Application.ScreenUpdating = False
Application.DisplayAlerts = False


'\ display open file dialog and copy to new (temporary workbook)
'On error resume next - traps for user clicking cancel in the
import dialog
'Error number is 1004 - is so exit the procedure
On Error Resume Next
If Application.Dialogs(xlDialogOpen).Show("*.csv") Then
If Err.Number = 1004 Then
Exit Sub
End If
ActiveSheet.UsedRange.Select '\ select imported text in
temporary workbook
Selection.Copy '\ copy to clipboard
ActiveWorkbook.Close '\ close temporary workbook
Worksheets.Add
Range("A1") = "Dialogs(xlDialogOpen) Method"
Range("A2").Select
ActiveSheet.Paste '\ paste text into your
workbook
End If

Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 2
Default Import multiple csv files into current workbook as separate sheets

Thank you Ron. It works great.

Also Is there any simple way to interactively get the name of the
directory from user ?

Thank a lot.

Santosh

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default Import multiple csv files into current workbook as separate sheets

hi Santosh

Also Is there any simple way to interactively get the name of the
directory from user ?


See how I do it in this macro
http://www.rondebruin.nl/windowsxpzip.htm#Browse

--
Regards Ron de Bruin
http://www.rondebruin.nl


"Santosh" wrote in message oups.com...
Thank you Ron. It works great.

Also Is there any simple way to interactively get the name of the
directory from user ?

Thank a lot.

Santosh



Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Auto saving sheets from a workbook as separate files. Colin Hayes Excel Worksheet Functions 2 May 18th 10 06:50 PM
Automated multiple text files into multiple sheets in one workbook Dr Dan Excel Discussion (Misc queries) 14 November 4th 07 11:32 AM
workbook sheets into separate files markx Excel Worksheet Functions 1 June 28th 05 04:02 PM
How do I save sheets in a workbook to separate files? Omzala Excel Worksheet Functions 2 January 13th 05 06:23 PM
Import several txt files into separate sheets within 1 workbook Steve[_56_] Excel Programming 0 January 15th 04 10:31 PM


All times are GMT +1. The time now is 03:15 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"