Daily I receive 3 Excel files via e-mail and I need file data on one workbook.
The layout of each file is different.
File names will have current date added.
File 1 name is : BlankApp_yyyymmdd.xls
File 2 name is : DisRep_yyyymmdd.xls
File 3 name is : PerApp_yyyymmdd.xls
From File 1, I need data from B2, A7, D11, G11 (Single row)
From File 2, I need data from A7, C8, E9, H9 (Single row), A11, C12, E13, H13 (single row), A15, C16, E17, H17 (single row) & A19, C20, E21, H21 (single row)
From File 3, I need data from B2, A7, D11, G11 (single row)
In summary I need six rows of data on my workbook, which should accumulate on a daily basis.
I found code which gives the outcome I require, but this only resolves part of the question i.e. File1 & File3. Still to find a answer for File2.
Sub BlankandPersonalised()
    Const CellList As String = "B2,A7,D11,G11"
    Const strFldrPath As String = "C:\New folder\" ' point to the folder where the files reside
    Dim wsDest As Worksheet
    Dim rngDest As Range
    Dim rngCell As Range
    Dim arrData() As Variant
    Dim CurrentFile As String
    Dim rIndex As Long, cIndex As Long
    Set wsDest = ActiveWorkbook.ActiveSheet
    CurrentFile = Dir(strFldrPath & "*.xls*")
    Set rngDest = wsDest.Cells(Rows.Count, "A").End(xlUp).Offset(1)
    ReDim arrData(1 To Rows.Count, 1 To Range(CellList).Cells.Count)
    Application.ScreenUpdating = False
    Do While Len(CurrentFile) > 0
        With Workbooks.Open(strFldrPath & CurrentFile)
            rIndex = rIndex + 1
            cIndex = 0
            For Each rngCell In .Sheets(1).Range(CellList).Cells
                cIndex = cIndex + 1
                arrData(rIndex, cIndex) = rngCell.Value
            Next rngCell
            .Close False
        End With
        CurrentFile = Dir
    Loop
    Application.ScreenUpdating = True
    If rIndex > 0 Then rngDest.Resize(rIndex, UBound(arrData, 2)).Value = arrData
    Set wsDest = Nothing
    Set rngDest = Nothing
    Set rngCell = Nothing
    Erase arrData
End Sub
 
     
     
    