title: Combine multiple Excel workbooks into a single workbook
body: <p>I am a novice at Visual Basic. I can use either Excel 2010 or Excel 2013 for this task.</p>
  
  <p>I have dozens of workbooks with data on the first worksheet of each. For example One.xlsx, Two.xlsx, Three.xlsx, Four.xlsx each contain information on their respective Sheet1.</p>
  
  <p>I need the information on Sheet1 from each workbook to be combined into a single workbook with sheets that are named from the file name of the original workbook. So for example combined.xlsx would have 4 sheets named One, Two, Three, Four. In every case all information on the underlying worksheets should be copied and combined in the new Workbook as shown below.</p>
  
  <ul>
  <li>The Format I need</li>
  </ul>
  
  <p><img src="https://i.stack.imgur.com/20Pnb.jpg" alt="enter image description here"></p>
  
  <p>I found this Macro / Add-In online that gets me close to what I need using the open files add in choice.</p>
  
  <p><a href="http://www.excelbee.com/merge-excel-sheets-2010-2007-2013#close" rel="nofollow noreferrer">http://www.excelbee.com/merge-excel-sheets-2010-2007-2013#close</a></p>
  
  <p>The Open Files Add-In successfully allows me to aggregate the various Workbook's worksheets into a single workbook. However the tabs are not named from the name of the original file.</p>
  
  <ul>
  <li>Correct aggregation of sheets, but incorrect worksheet names.</li>
  </ul>
  
  <p><img src="https://i.stack.imgur.com/o2XAo.jpg" alt="enter image description here"></p>
  
  <p>For now all the underlying Workbooks will be in the same folder. The ability to browse and select the files would be nice if this ever changes but if that is too difficult, just indicating the directory path in the Visual Basic code would work. As far as the resultant combined output probably ought to be a new workbook, the filename of the new workbook isn't that important. It could be called combined.xlsx for example.</p>