Merging many excel files together

  • Thread starter Michael D. McGill
  • Start date
M

Michael D. McGill

I have 197 excel files that are the same (data is different rows and columns
are the same). I want them all together in one spreadsheet. what is the
easiest way to do this?

Thanks in advance,
mike
 
J

jeff

Hi,

Here is an old post from BrianB which may get you
very close.

jeff
--------------------------
Subject: Re: Indirect not the correct solution???
From: "BrianB >" <<[email protected]>
Sent: 4/27/2004 7:52:33 AM




Here is some code that you will need to copy/paste to a
code module and
adapt. You may get away with just changing the *Sub
Transfer_Data ()*
to transfer cell values instead of using copy/paste. eg.
ToSheet. Range("A1").Value = Fromsheet.Range("A1").Value

'==============================================
'- Generic code for transferring data from
'- one or more workbooks in a folder to a master sheet
'-
'- workbooks must be the only ones in the folder
'- run this code from the master book
'-
'----------------------------------------------
Dim ToBook As String
Dim ToSheet As Worksheet
Dim NumColumns As Integer
Dim ToRow As Long
Dim FromBook As String
Dim FromSheet As Worksheet
Dim FromRow As Long
Dim LastRow As Long
'-
'----------------
Sub NEW_MASTER()
'----------------
Application.Calculation = xlCalculationManual
ChDrive ActiveWorkbook.Path
ChDir ActiveWorkbook.Path
ToBook = ActiveWorkbook.Name
Set ToSheet = ActiveWorkbook.Worksheets(1)
NumColumns = ToSheet.Range("A1").End(xlToRight).Column
ToRow = ToSheet.Range("A65536").End(xlUp).Row
'- clear master
If ToRow <> 1 Then
ToSheet.Range(Cells(2, 1), Cells(ToRow,
NumColumns)).ClearContents
End If
ToRow = 2
'- main loop
FromBook = Dir("*.xls")
While FromBook <> ""
If FromBook <> ToBook Then
Application.StatusBar = FromBook
Transfer_data
End If
FromBook = Dir
Wend
'-- close
MsgBox ("Done.")
Application.StatusBar = False
Application.Calculation = xlCalculationAutomatic
End Sub
'-------------------------------------------------

Sub Transfer_data()
Workbooks.Open FileName:=FromBook
For Each FromSheet In Workbooks(FromBook).Worksheets
LastRow = FromSheet.Range("A65536").End(xlUp).Row
'- copy paste
FromSheet.Range(Cells(2, 1), Cells(LastRow,
NumColumns)).Copy
_
Destination:=ToSheet.Range("A" & ToRow)
'- set next ToRow
ToRow = ToSheet.Range("A65536").End(xlUp).Row + 1
Next
Workbooks(FromBook).Close savechanges:=False
End Sub
'==== EOP ======================================
 
J

Jim Rech

There is no tool built into Excel to do this. Your options are: Manually
Copy/Paste or write a macro that would have to be tailored exactly to the
layout of your data.

--
Jim Rech
Excel MVP
|I have 197 excel files that are the same (data is different rows and
columns
| are the same). I want them all together in one spreadsheet. what is the
| easiest way to do this?
|
| Thanks in advance,
| mike
|
|
 
Top