I've been attempting to find a macro that would combine a number of similar workbooks into one large workbook. The files I'm dealing with are all .csv files with identical columns and headers.
I found one macro here: see below (this is the start of the macro) yet either I'm not using it correctly or there are errors in it as when I run it I get an error that says Run-time error '9' Subscript out of range and gives me the option to debug it. When I choose to debug it opens up the macro and has the following section highlighted?
Set wsMaster = ThisWorkbook.Sheets("Master") 'sheet report is built into
The macro in I found on this site begins with the following:
Option Explicit
Sub Consolidate()
'Author: Jerry Beaucaire'
'Date: 9/15/2009 (2007 compatible) (updated 4/29/2011)
'Summary: Merge files in a specific folder into one master sheet (stacked)
' Moves imported files into another folder
I've got a macro that combines multiple worksheets and workbooks. Just a minor problem, the very last row of each worksheet is being deleted, and I can't seem to pinpoint the cause of the problem.
'This will copy data from all sheets of the selected workbooks 'To a sheet named 'Data' in the sheet in which the macro is run from
Dim pasterow As String mainsheetname = ActiveWorkbook.Name MsgBox ("Please select spreadsheets to combine") filestoopen = Application. GetOpenFilename(MultiSelect:=True) responseval = MsgBox("Do you want to leave the combined spreadsheets open?", vbYesNo) Worksheets("Data").Select Range("A1").Select 'open workbooks For Each w In filestoopen...................
I have a hard time creating a macro from scratch I have 7 different excel files which im trying to create a macro that will combine all of this files (reports) into one, and then put the CT information (an excel file i have) on a separate tab within the 1 common report.
For work I have to create copies of the same workbook for every day of the month. I have got the following to do it properly, which may not be the best way so I am open to suggestions, but I don't want it to save this macro in every workbook. There are however other macros that I do want it to take with it, just not this one.
Sub SaveByDate() Dim a As Integer, b As Integer, c As Integer
' number of days in month + 1 (this is just a test; for Jan a = 32) a = 6
' start date b = 1
c = 0 For c = 1 To a If c < a Then
MyMonth = "Jan" MyDay = b MyFileName = MyMonth & " " & MyDay & " 2008 daily report" ActiveWorkbook.SaveAs Filename:=MyFileName b = c + 1 End If Next c End Sub
Is it possible too do this if they are on the same computer. Lets say I want all the data on page3 in one workbook, data on page2 in another and have it show up in another workbook. If this can be done can it delete cell entry that match?
I am trying to combine multiple workbooks together. I have some code that works great except I only want it to combine one sheet from each workbook. The workbooks are identical they just hold different data. Each book contains 8 worksheets and I want to copy only data from "Container Info"
Code: Option Explicit Sub CombineSheetsFromAllFilesInADirectory() Dim Path As String
I have a set of excel files that I need to combine into one worksheet. The files have the same number of rows but the number of column will vary. The combined worksheet needs to have the data from each workbook appended to the last column.
I have this master file with a list of workbook names in column A on a tab called, conveniently, List. I have saved the master file in the same folder as a number of workbooks where their names match the names on the List.
What I want to do is open the files on the List and copy and move the worksheets to a new workboook. The catch for this is the following (I will use an example):
1. I have 2 workbooks called DS-100 Medicine Admin and DS-101 Medicine Wards 2. I want to take the worksheets from DS-100 and add them in a new workbook 3. Then I want to take the worksheets from DS-101 and add them to the same workbook but AFTER the DS-100 worksheets that were added in step 2 4. Then save this workbook to a folder within the original folder where the files are saved
I have the below code thus far, which opens the DS-100 workbook and copies and moves the worksheets to a new workbook. It doesn't open the DS-101 workbook though. It also saves the new workbook in My Documents rather then the SavePath.
Sub CombineMedicine() Dim Path As String 'string variable to hold path to look through Dim FileName As String 'temporary file name variable Dim Master As Workbook 'this workbook Dim rng As Range
Is there a way to take 4 workbooks with each one containing 4 worksheets into one content page?
For Example, I would like to have a table of contents on one worksheet referencing 4 workbooks where a person could click on a hyperlink that would open to a named workbook that contains 4 separate worksheets.
I have 51 workbooks that I would like to combine into one workbook. Each workbook varies in number of rows, but have the same number of columns. There are 31 Columns (AE).
Is there a fast way of doing this or will I have to cut and Paste?
I am trying to combine ~300 workbooks into one single workbook. All 300 workbooks have the exact same header. I tried using the code from thread http://www.excelforum.com/showthread.php?p=696435 but nothing is being copied over. The only difference between my example and the other is I only need to take data from the first sheet in each data workbook. All the workbooks are located in following directory .....
I have 16 different workbooks for different regions of my company. Each workbook has one worksheet (sheet named each region name), and all workbooks are formatted same regarding column names. Ultimately, I would like to combine all workbooks into one summary workbook where I can build a pivot table and pull out various data. Do you think this method is the best way to do what I am trying to do? I am very novice when it comes to VBA. I have written the code below, however, it is not working.
Code: Sub GetSheets() Path = "C:UsersDanielleDesktopWorksheets" Filename = Dir(Path & "*.xls") Do While Filename "" Workbooks.Open Filename:=Path & Filename, ReadOnly:=True For Each Sheet In ActiveWorkbook.Sheets Sheet.Copy After:=ThisWorkbook.Sheets(1) Next Sheet Workbooks(Filename).Close Filename = Dir() Loop End Sub
how can you combine all data from different workbooks in to one workbook. i have 544 workbooks to combine. here is a sample screenshot of the table i need to combine.
it consists of 9 columns. rows are not consistent in number and sheets are named with numbers starting from 001 to 999 ....
I am trying to do is to combine multiple sheets from multiple workbooks if in the created parameters table it has a 'y' next to it. (So you can specify which workbooks to copy from and which worksheets to copy from) - please see example file to get a better understanding.
Example file: Master
What I have is a parameters table which defines which workbook/worksheet to look in (please see attachment) on the 'parameters' worksheet.
I also have a 'raw data' worksheet within the same workbook where I want the combined data to go.
File a.xls/b.xls/c.xls etc
Theses are the workbooks where all the data is held which I want to combine, each workbook is the same, just different 'data'. - they are all in the same path too.
In the first column in the parameters table I have the available workbooks: a.xls b.xls c.xls etc and next to it a 'y' or 'n' - 'y' if I want to copy data from that workbook or a 'n' if I don’t.
In the second column in the parameters table I have the available worksheets: sheet1 sheet2 sheet3 etc and next to it a 'y' or 'n' - 'y' if I want to copy data from that worksheet or a 'n' if I don’t.
In the attached example I have code which loops through each file a,b,c dependent whether it has a y/n next to it but I need some code to get it to copy data from the specified sheets in the second column (if it has a Y next to it) in the parameters table to the raw data worksheet in the master workbook with the filename of where the data came from in column A (eg A.xls).
I have three workbooks. Every workbook has 50 persons IT information. Those are CPU list, Monitor list, UPS list. I would like to create another workbook. Where all user's IT information will be available. Like X user's information required, under x information his CPU, monitor and UPS information link will be available. How to create link of the CPU, UPS monitor sheets with new workbook?
I have a master workbook that has been set up to mirror the structure of a single worksheet in various other workbooks saved in different directory locations. I need some VBA code to retreive specific data from a specified worksheet in multiple workbooks which are saved in different directories and then copy the data to the master workbook, listing each data set one after another. I do not want to open any of the source workbooks to acheive this.
I attach two example workbooks to better explain:
The code has to look in various sub directories to find the relevant workbooks, (Source1) then find the specified worksheet, (Stock) and copy only rows that have data from column B to O. The data needs to be copied to the master workbook, (master) from all the source workbooks as a list with no space.
I am trying to combine several workbooks containing data in multiple sheets into a master workbook. All the workbooks have the same number of worksheets. I would like to combine all data in Sheet1 into a new Sheet1, all data from Sheet2 into a new Sheet2, etc.
Using the first worksheet "sheet1" I need to create individual worksheets each with a name for the different rows in column A, they also need to be arranged in that order. I found what appears to be the the first half of my solution on this thread for creating + naming the worksheets. Thank you Donkeyote :-) http://www.excelforum.com/excel-2007...-of-cells.html
That macro does almost everything but if someone was to delete a worksheet, or move it around it would not be in sync with the starting list. I need to arrange the worksheets based on the list on "sheet1". The list is going to be ever growing and will probably be re-arranged multiple times. I'm sure it's something really easy but I just can't figure it out.
I have just started out learning vb and am having some trouble with a particular request. The following code is code I found to split a worksheet into different sheets based on a variable in the data (Col G). It has now been requested that instead of new worksheets, they want the data in new work books, automatically named and saved as today's date.
Sub UpDate_Sheets() Dim ws As Worksheet, source As Range, dest As Range Dim daily As Worksheet Set daily = Worksheets("Sheet1") Application. ScreenUpdating = False On Error Resume Next For Each ws In Worksheets If ws.Name <> daily.Name Then daily.Range("G1"). AutoFilter Field:=7, Criteria1:=ws.Name Set source = daily.Range("G1"). CurrentRegion.Offset(1, 0).SpecialCells(xlVisible) Set dest = Worksheets(ws.Name).Range("A65536").End(xlUp).Offset(1, 0) source.Copy dest End If Next daily.Range("G1").AutoFilter On Error Goto 0 End Sub
I need to create multiple workbooks from a template, but the header on the sheets need to change based on a list of numbers. I know you can generate multiple sheets from a template within the same workbook. Can you export all the sheets once they are generated to separate workbooks/files? Also I need to change the text in lets say cell A1 on every sheet based on a list from the main sheet. So the main sheet has a list in column A: 1, 2, 3, 4 etc. Once the sheets are generated from the template cell A1 on each generated sheet needs to have a different number from the list i.e. 1, 2, 3, 4 etc. It would be nice if i can set the format of cell A1 on the generated sheets so when then number is inserted it large text and bold.
I am trying to create a workbook in which each person gets a seperate sheet.There are common cells in each sheet like name addrss,phone number, etc (about 10 such cells) and there are other cells which will be unique to each person like hyperlinks to letters I have sent to that particular person.
The tab will be named using that person's surname. (I use "find" on the surname and i can locate the particular worksheet).I can add the unique ones as and when needed in each particular sheet, but what i would like to do is to create the first sheet containing all the necessary common cells with a blank cell next to it and then (maybe run a macro?) to create multiple sheets all containing the same info so that with each sheet I only have to fill in the blanks (name,address,age,etc) .
At the moment I am using "copy sheet" each time using an unfilled template sheet and it is a pain.
I have written a 2007 workbook which contains 4 simple macros. One of the macros automates the process of saving the print range as a .pdf file. It works fine on my pc but when I send it to others to use, when they try the macros, they all return a 1004 runtime error.
The easiest way I can describe the scenario I am trying to create, is to use a company list of personnel (my index) and to generate a time-sheet workbook per person based on a pre-populated template. This time-sheet is saved as the persons name and has the persons name entered into cell D:10
I have a workbook which contains two worksheets;
1) An Index sheet which contains a list of names that I wish to use in Q16 downwards (note the length of this list will vary each time I run this)
2) A "template" sheet which I wish to duplicate in new workbooks
3) A second "data" sheet that I wish to copy across in new workbooks
I need a macro that will take the "template" and "data" sheets and copy it into a new workbook, renaming each new workbook to each name in my Index sheet. I also want that same Name to be copied into cell reference D:10 of the "template" each time.
The end result is that I should have a series of new files generated and saved which are named the same as the Index list, with both the "Template" sheet and the "Data" sheet present, with the cell D:10 pre-populated with the Name provided in the "Template" sheet.
I have about 20 workbooks with different file names for different projects all saved in the same folder. Each workbook has about 10 worksheets and each worksheet is named in a similar fashion in each of the 20 workbooks (eg. revenue, cost, variance etc.). I want to pull out a worksheet named ' forecast' from each workbook into a master workbook so that the master workbook would contain the 20 forecast worksheets.
I'm trying to combine data from several worksheets (one sheet per workbook) into a single, consolidated master worksheet for reporting purposes (filters and pivot tables). We do not need to keep formulas for the master worksheet, only values and formats. Individual worksheets are used by different users to capture case data in a Human Services field. Column headings are identical, but rows contain data on individual cases. I'm trying to find a relatively easy way to combine multiple worksheets into a single master. After I establish the worksheets and technique, it will be operated by extremely basic users so I've been reluctant to use extensive macros.
Because of complex reporting needs, the exact combination of worksheets being combined for reporting may vary. For example, one time I may combine Tom, Dick and Harry, another time Tom, Dick and Bob, and yet another time Tom, Dick, Bob and Harry. Obviously, one method is to cut and paste the rows into a single worksheet. Are there more elegant solutions that could easily be handled by very basic users? Worksheets are stored in a single folder along with a separate worksheet used for validation rules (as you can guess, this would ideally be a database application but for various economic and political reasons we are using Excel). One possibility, if straightforward, is to use Access to consolidate data then export it back to Excel for analysis. I've scoured the various threads but have not found a situation mirroring mine. The number of rows for each worksheet is generally less than one hundred, but there will be a few exceeding several hundred. Total numer of rows of the resultant master worksheet will not exceed 10,000.