Sub rozek_MasterSheet_UpdaterV1()
Dim DataRowCounter As Long
Dim DestinationWorkbookSheetToCopyToRow As Long
Dim LastRowDestinationWorkbookSheetToCopyTo As Long
Dim MaxNumberOfDataFilesToBeUsed As Long
Dim SourceFileNumber As Long
Dim DataDate As String
Dim SourceWorkbookSheetName As String
Dim UserSelectedDataFileToOpen As String
Dim SourceWorkbook As Workbook
Dim DestinationWorkbookSheetToCopyTo As Worksheet
Dim SourceWorkbookSheetToCopyFrom As Worksheet
MaxNumberOfDataFilesToBeUsed = 3
SourceWorkbookSheetName = "Sheet1"
Set DestinationWorkbookSheetToCopyTo = ThisWorkbook.Worksheets("MasterSheet")
With DestinationWorkbookSheetToCopyTo.Range("A1:D1")
.Value = Array("DATE", "NAME", "PRESS", "TEMP")
.Font.Bold = True
End With
For SourceFileNumber = 1 To MaxNumberOfDataFilesToBeUsed
UserSelectedDataFileToOpen = Application.GetOpenFilename(Title:="Select File #" & SourceFileNumber & " of " & MaxNumberOfDataFilesToBeUsed & " files to Import Data from", FileFilter:="Excel Files (*.xls*), *xls*")
If UserSelectedDataFileToOpen = "False" Then Exit Sub
Set SourceWorkbook = Workbooks.Open(UserSelectedDataFileToOpen)
Set SourceWorkbookSheetToCopyFrom = SourceWorkbook.Worksheets(SourceWorkbookSheetName)
LastRowDestinationWorkbookSheetToCopyTo = DestinationWorkbookSheetToCopyTo.Cells.Find("*", , xlFormulas, , xlByRows, xlPrevious).Row
LastRowSourceWorkbookSheetToCopyFrom = SourceWorkbookSheetToCopyFrom.Cells.Find("*", , xlFormulas, , xlByRows, xlPrevious).Row
DataDate = SourceWorkbookSheetToCopyFrom.Range("B1").Text
For DataRowCounter = 3 To LastRowSourceWorkbookSheetToCopyFrom
DestinationWorkbookSheetToCopyToRow = LastRowDestinationWorkbookSheetToCopyTo + DataRowCounter - 2
DestinationWorkbookSheetToCopyTo.Range("A" & DestinationWorkbookSheetToCopyToRow) = DataDate
DestinationWorkbookSheetToCopyTo.Range("B" & DestinationWorkbookSheetToCopyToRow) = SourceWorkbookSheetToCopyFrom.Range("A" & DataRowCounter)
DestinationWorkbookSheetToCopyTo.Range("C" & DestinationWorkbookSheetToCopyToRow) = SourceWorkbookSheetToCopyFrom.Range("C" & DataRowCounter)
DestinationWorkbookSheetToCopyTo.Range("D" & DestinationWorkbookSheetToCopyToRow) = SourceWorkbookSheetToCopyFrom.Range("D" & DataRowCounter)
Next
SourceWorkbook.Close savechanges:=False
Next
LastRowDestinationWorkbookSheetToCopyTo = DestinationWorkbookSheetToCopyTo.Cells.Find("*", , xlFormulas, , xlByRows, xlPrevious).Row
With DestinationWorkbookSheetToCopyTo.Range("A1:D" & LastRowDestinationWorkbookSheetToCopyTo)
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlCenter
End With
End Sub