Hi
i don't know whether this would work in your case, but give it try.
Sub MultiImporttest()
Dim flname
Dim filename
Dim FileNum As Integer
Dim Counter As Long, maxrow As Long
Dim WorkResult As String
Dim ws As Worksheet
On Error GoTo ErrorCheck
maxrow = Cells.Rows.Count
'Ask for the name of the file.
filename = Application.GetOpenFilename(FileFilter:="all file (*.*),*.*",
MultiSelect:=True)
'Check for no entry.
If VarType(filename) = vbBoolean Then
Exit Sub
End If
Application.ScreenUpdating = False
Application.EnableEvents = False
Counter = Cells(Cells.Rows.Count, "a").End(xlUp).Row
For Each flname In filename
FileNum = FreeFile()
Open flname For Input As #FileNum
Do While Seek(FileNum) <= LOF(FileNum)
Application.StatusBar = "Importing Row " & _
Counter & " of text file " & flname
Line Input #FileNum, WorkResult
Set ws = Nothing
Set ws = ActiveSheet
ws.Select
Cells(Counter, 1) = WorkResult
If WorkResult <> "" Then
Application.DisplayAlerts = False
Cells(Counter, 1).TextToColumns Destination:=Cells(Counter, 1),
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False,
Tab:=False, Semicolon:=False, Comma:=True, Space:=False, Other:=False
End If
Counter = Counter + 1
If Counter > maxrow Then
MsgBox "data have over max rows: " & maxrow
Exit Sub
End If
Loop
'Close the open text file.
Close
Next
'Reset the application to its normal operating environment.
Application.StatusBar = False
Application.EnableEvents = True
Application.ScreenUpdating = True
Exit Sub
ErrorCheck:
'Reset the application to its normal operating environment.
Application.StatusBar = False
Application.EnableEvents = True
Application.ScreenUpdating = True
MsgBox "An error occured in the code."
End Sub
keizi
> Thanks for the interest guys
>
[quoted text clipped - 8 lines]
>
> I would greatly appreciate it.
kounoike - 23 Feb 2006 11:26 GMT
Sorry, I've forgot to add one if statement.
> Hi
>
[quoted text clipped - 21 lines]
>
> Counter = Cells(Cells.Rows.Count, "a").End(xlUp).Row
'===>>add a if statement below here
If Cells(Counter, "a") <> "" Then
Counter = Counter + 1
End If
'===>>end
> For Each flname In filename
> FileNum = FreeFile()
> Open flname For Input As #FileNum
keizi
tuggers - 23 Feb 2006 15:00 GMT
WOW!!
That looks fantastic!!
The only trouble is im a bit of a vba novice!
The required dat. files are stored in a folder called 'Tricoder'
and the file is stored on T: drive (shared drive at my place of work)
Can you please show me where i would place this information.
Again, many thanks for the hel
kounoike - 24 Feb 2006 01:11 GMT
Hi
just run the macro, then a dialog for opening files appears. change to the folder
where files you want to import are, and select all files you want to import
- same way as you do when you use explore - and press OK button.
if you miss to select some files, run again the macro and select missing files
with worksheet where data already are selected, then it will add the data into
that worksheet.
That's all. But i'm not sure this will end up with what you want to get.
keizi
> WOW!!
>
[quoted text clipped - 7 lines]
>
> Again, many thanks for the help
tuggers - 24 Feb 2006 15:15 GMT
i tried using the code you supplied but its throwing up a syntax error
for the following part:
filename = Application.GetOpenFilename(FileFilter:="all file
(*.*),*.*",
MultiSelect:=True)
Any ideas of what to change to stop this??

Signature
tuggers
tuggers - 24 Feb 2006 15:29 GMT
I have found the following information for importing files into a single
worksheet.
The trouble is i dont really understand what it all means!!
Could somebody please fill in the necessary changes for this to work??
Many, many thanks

Signature
tuggers
kounoike - 25 Feb 2006 01:38 GMT
Hi
i wrote the code in one line. but when i pasted the code, my mailer inserted
the code new line automatically that caused syntax error. i think there is
more places which cause syntax error.
i'll put the code changed which would not cause syntax error when you copy.
But in case that there are syntax error again, please let me know.
Sub MultiImporttest()
Dim flname
Dim filename
Dim FileNum As Integer
Dim Counter As Long, maxrow As Long
Dim WorkResult As String
Dim ws As Worksheet
On Error GoTo ErrorCheck
maxrow = Cells.Rows.Count
filename = Application.GetOpenFilename _
(FileFilter:="all file(*.*),*.*", MultiSelect:=True)
If VarType(filename) = vbBoolean Then
Exit Sub
End If
Application.ScreenUpdating = False
Application.EnableEvents = False
Counter = Cells(Cells.Rows.Count, "a").End(xlUp).Row
If Cells(Counter, "a") <> "" Then
Counter = Counter + 1
End If
For Each flname In filename
FileNum = FreeFile()
Open flname For Input As #FileNum
Do While Seek(FileNum) <= LOF(FileNum)
Application.StatusBar = "Importing Row " & _
Counter & " of text file " & flname
Line Input #FileNum, WorkResult
Set ws = Nothing
Set ws = ActiveSheet
ws.Select
Cells(Counter, 1) = WorkResult
If WorkResult <> "" Then
Application.DisplayAlerts = False
Cells(Counter, 1).TextToColumns _
Destination:=Cells(Counter, 1), _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=False, Semicolon:=False, _
Comma:=True, Space:=False, _
Other:=False
End If
Counter = Counter + 1
If Counter > maxrow Then
MsgBox "data have over max rows: " & maxrow
Exit Sub
End If
Loop
Close
Next
Application.StatusBar = False
Application.EnableEvents = True
Application.ScreenUpdating = True
Exit Sub
ErrorCheck:
Application.StatusBar = False
Application.EnableEvents = True
Application.ScreenUpdating = True
MsgBox "An error occured in the code."
End Sub
keizi
> i tried using the code you supplied but its throwing up a syntax error
> for the following part:
[quoted text clipped - 4 lines]
>
> Any ideas of what to change to stop this??
tuggers - 25 Feb 2006 07:33 GMT
That seems to work!!
I cant thank you enough..........
So much appreciated

Signature
tuggers