Hi Mike.
This will solve the problem stated in your initial post to Mr Excel. I will post the macro in case it might help others as well. Create or choose an existing folder which will house all of your inboxed workbooks. Place this attached file in the same folder as this is the path which will be searched for the source data. The code associated with your commandbutton(UpDate) will step through and open each Excel file in this folder and take the Range A3:AH3 on worksheet "Data" and place the info on the next available line in your Master workbook in Columns B to AH.
There is no error handling. You must also remove the files already processed to avoid duplication and, therefore, incorrect results when you manipulate your collected data.
I am unsure as to your experience with VBA. If the code needs to be commented, let me know. If you need to make changes, post and someone will, doubtless, be able to help you out. You may want to monitor this thread for other suggestions as well. As far as your concern about the workbook becoming too saturated, it seems Excel will be fine for this project indefinitely.
Thanks to Mudface for the assistance with the Workbook.Open method.
A link to your Mr Excel post:
http://www.mrexcel.com/board/viewtopic.php?topic=8809&forum=2&1
Hope this helps,
Tom<pre>
Private Sub cmdUpdate_Click()
Dim FS, i
Dim PlaceRow As Long
Dim OpenedName As String
Dim DoNotReopenActiveWB_Name As String
Dim MasterWorkBook As String
Application.DisplayAlerts = False
Application.EnableEvents = False
Application.ScreenUpdating = False
DoNotReopenActiveWB_Name = ActiveWorkbook.FullName
MasterWorkBook = ActiveWorkbook.Name
PlaceRow = Sheets("MasterSheet").Range("c1:c" & Range("c65536").End(xlUp).Row).Rows.Count
If PlaceRow< 3 Then PlaceRow = 3
Set FS = Application.FileSearch
With FS
.LookIn = ActiveWorkbook.Path
.Filename = "*.xls"
If .Execute Then
For i = 1 To .FoundFiles.Count
If .FoundFiles(i)<> DoNotReopenActiveWB_Name Then
PlaceRow = PlaceRow + 1
Workbooks.Open .FoundFiles(i), 0
OpenedName = ActiveWorkbook.Name
Workbooks(MasterWorkBook).Sheets("MasterSheet") _
.Range("B" & PlaceRow & ":AH" & PlaceRow).Value = _
Workbooks(OpenedName).Sheets("Data") _
.Range("A3:AG3").Value
Workbooks(OpenedName).Close savechanges:=False
End If
Next i
End If
End With
Application.DisplayAlerts = True
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub</pre>
This message was edited by TsTom on 2002-05-22 03:06