+ Reply to Thread
Results 1 to 2 of 2

vba help to open excel files from a list and capture values from the individual files

Hybrid View

  1. #1
    Registered User
    Join Date
    01-31-2012
    Location
    usa
    MS-Off Ver
    excel 2010
    Posts
    1

    vba help to open excel files from a list and capture values from the individual files

    Hi ,
    I have an excel file where Column A contains a list of paths to various other Excel files.

    E.g
    c:\file1.xls
    d:\file2.xls
    c:\folder\file3.xls

    I want a macro that opens each file in the list and picks the value in cell A1 of each excel file and populates another excel file with the values in A1.

  2. #2
    Forum Moderator Leith Ross's Avatar
    Join Date
    01-15-2005
    Location
    San Francisco, Ca
    MS-Off Ver
    2000, 2003, & 2010
    Posts
    23,259

    Re: vba help to open excel files from a list and capture values from the individual f

    Hello jb2009,

    Welcome to the Forum!

    This macro will examine the workbook the macro is in for the file list. The list is assumed to be "Sheet1" starting with cell "A1". Each workbook will be opened and the contents of cell "A1" on the first sheet in the workbook will be copied into a new workbook starting at cell "A1" on the first sheet. If have any problems, let me know.
    
    Sub CopyDataToMaster()
    
        Dim Cell As Range
        Dim Data As Variant
        Dim R As Long
        Dim RngEnd As Range
        Dim rngFileList As Range
        Dim rngSummary As Range
        Dim wkbMaster As Workbook
        Dim wkbSummary As Workbook
        Dim wkbSource As Workbook
        
            Set wkbMaster = ThisWorkbook
            
            Set rngFileList = wkbMaster.Worksheets("Sheet1").Range("A1")
            
                Set RngEnd = wkbMaster.Cells(Rows.Count, rngFileList.Column).End(xlUp)
                If RngEnd.Row < rngFileList.Row Then Exit Sub Else Set rngFileList = wkbMaster.Range(rngFileList, RngEnd)
                
                Application.ScreenUpdating = False
                
                    Set wkbSummary = Workbooks.Add(xlWBATWorksheet)
                    Set rngSummary = wkbSummary.Sheet1.Range("A1")
                
                    For Each Cell In rngFileList
                        Set wkbSource = Workbooks.Open(Filename:=Cell.Value, ReadOnly:=True)
                            Data = wkbSource.Sheet1.Range("A1")
                        wkbSource.Close SaveChanges:=False
                        rngSummary.Offset(R, 0).Value = Data
                        R = R + 1
                    Next Cell
                    
                Application.ScreenUpdating = True
                
    End Sub
    Sincerely,
    Leith Ross

    Remember To Do the Following....

    1. Use code tags. Place [CODE] before the first line of code and [/CODE] after the last line of code.
    2. Thank those who have helped you by clicking the Star below the post.
    3. Please mark your post [SOLVED] if it has been answered satisfactorily.


    Old Scottish Proverb...
    Luathaid gu deanamh maille! (Rushing causes delays!)

+ Reply to Thread

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts

Search Engine Friendly URLs by vBSEO 3.6.0 RC 1