Gathering Sheets From Different Workbooks Into One?
May 28, 2014
I am trying to program a macro that get the sheets in four different workbooks and put them into another workbook where my macro is located. I have managed to open the first workbook and copy the first sheet but when going for sheet two in the same workbook it gives me an error 91 stating the variable or with block variable not set on the following line:
I've been given the task of automating a spreadsheet to assess whether work has been done by each employee. Every employee has their own spreadsheet, where column A is a job code, and column H contains either y or n dentoting whether they have completed the task (y) or not (n).
The main spreadsheet is designed to show any outstadning tasks across everybody so it has a list of everybodies names in column A and then any incomplete tasks will be listed from columns b onwards next to the appropriate person. Here is what I have done at the moment.
I would like to use VBA to search a folder and copy data from tabs within the excel files there. The data will be pasted to a tab of same name in the the main file. All the files are in the same format.
So far I have only managed to list the files in the folder using code I found on your site!
I had a Costs file which had a sheet per product (about 30) and a totals sheet with a basic 3D sum in each cell.
Columns A:E held the cost codes and descriptions and then column F onwards were a column per month showing any associated costs for a six year plan.
This file was cumbersome and not user-friendly, as they then linked into the 30 different product files, so I've effectively moved every sheet from this file into the relevant product file, so the cumbersome Costs file no longer exists.
This works much better. However, I still want a summary page to show me the total costs of all of these products.
Can I do some kind of SUMPRODUCT, or INDEX MATCH to take the cost for Code 13011234 for Jan 08 from each of the 30 files, without having to make a copy of each sheet or write a long winded suma+sumb etc?
NOTE: Not all sheets contain all codes (although they did for the previous 3D sums). My master list does, but I don't want any errors if code 13011234 is not found on one of the sheets.
Also, all of the sheets are now called COSTS within each of the individual files.
I have workbook which content a lot of sheets. I want to separate each sheet to separate workbook. I would be glad if somebody got a clue how to do it.
I am looking for the code to transfer a sheet from one open workbook to another open workbook. I am just wondering what type of code I need to type so that a particular sheet from one workbook goes into a particular workbook that I desire. i.e if there were 10 workbooks open, I want a particular sheet from one workbook to be moved into one particular workbook out of these 10 sheets.
I have a selection of data that lists sellout information for 45 different Cable networks. What I'm hoping to accomplish is to have (on a separate sheet) a function that will automatically pull out the top 10 networks based highest sellout percentages and list them in order from highest to lowest. I don't even know where to begin or if it is even possible to set up as an automatic function.
I'd like to create a macro that will take 10 workbooks and add them to a new work book, but have each workbook as a separate sheet.
So every month from work I get a report file labeled as the current month (JAN_14). Then there about 19 folders in that folders labeled with product names; then in those folders are two excel files (they're all named MSTASCH_QUICKLOOK_1 and MSTASCH_QUICKLOOK). I figure if I can see the macro to combine 10 workbooks I can change it to do less or more workbooks. I had tried a macro that takes the workbooks from one file and puts them into two seperate sheets (although I would love to have the order changed of how they're put into the workbook).
VB: Sub MergeSheets() Dim wbDst As Workbook Dim wbSrc As Workbook
I came across the following code, which does exactly what i want. It opens up all workbooks in a specified folder, and consolidates these into one. Each worksheet data is added below that of the previous workbook.
[URL]....
I have changed this to suit my workbook which has the header rows starting in row 6, but is now giving an error due ot the copy area not being the same size as the past area. It appears to be copying columns A:M and trying to paste this into the main workbook in columns A:N.
I have 100's of workbooks that have a mispelled word in a cell. Some of the workbooks have more than one sheet. I have written a macro that will correct the mispelling, and now would like to have the macro run automatically everytime I open a workbook, I would like for it to check all the sheets, but if not, then whatever sheet the workbook opens to will be fine. Here is the macro.
Sub mySpelling() Dim myWord Range("b22").Select myWord = ActiveCell If myWord = "Quanity" Then ActiveCell.FormulaR1C1 = "Quantity" End If End Sub
I have done a search and have seen about "personal.xls", that does not seem to work. Thinking that I will have to add something to XLStart folder but not sure.
I've attached two separate workbooks that have indentical sheets in each. One workbook is a 2 day later update of the first. I'm trying to develop VBA code that will open both workbooks uses column B (work order #) as the unique identifier for each like sheet (which represent a month) and compares all other columns for that unique indentifier. Then I need to generate 3rd workbook that is identical in format (has a sheet for each month) and content to the two source ones but shows the unique identifier and any changes:
Column A (due date) Column d (order quantity)
Also,if in the newer workbook(5_12_06) there exist a unique indentifier (work order #) that was not in the older workbook(5_10_06) and the same if there exits a unique indentifier in the older workbook that was removed in the newer workbook.
I have same kind of file stored in a folder every day. For example an expense statement that is being pulled every day has sheet tabs Mon, Tue, Wed, Thu, Fri. Every day it gets stored in a particular folder. I need to consolidate for say 4 weeks. All sheet tabs look alike. I need to consolidate all mondays, all tuesday sheets ... in a master work book.
I need to develop a VBA that counts all worksheets named sheet1 within all open workbooks in addition to many other useless tasks. I have spent many hours trying to figure out how to do that. My guess is to use some sort of with statement, but my efforts have been unsuccessful.
Sub CountWKS() Dim wb As Workbook Dim msg As String Dim myTotal As Long For Each wb In Workbooks msg = msg & vbLf & wb.Name & vbTab & wb.Sheets.Count myTotal = myTotal + wb.Sheets.Count Next MsgBox "The number of worksheets in each workbook is " & msg & vbLf & Workbooks.Count & " open workbooks and " & myTotal & " total sheets" End Sub
I have a file that is a master report. Every month i have to pull information to it from 40-50 different files (all of these are exactly the same and the data is in the same sheets columns and rows) Is there an easier way of just pointing excel to one folders so it would automatically pull the date into mu master sheet?
I have several workbooks that supervisors in a call center use to grade calls for quality.
Each supervisor has a seperate workbook, and after scoring the call, the supervisor runs a vb script that copies all of the data from the worksheet "observation" onto "sheet1" for storing the data.
So now I want to use another workbook to:
1. Copy each sheet1 from all of the supervisor workbooks onto a sheet named "cumulative" in a different workbook.
In a perfect world it would also: 2. Keep a count of how many observations were done by each supervisor each day 3. Keep a count of how many have been done week to date 4. Keep a count how many have been done total since January 1, 2009
Each workbook is kept on a network drive at s:supervisorsqadata and named - for example QAformMelissa.xls
I'm okay with keeping the master sheet in the same directory if that makes it easier to accomplish this.
I need to find a way to split a sheet with a variable number of users (in column a) into either multiple tabs in the same workbook (preference) or into separate workbooks that are secured by a password for each user that is determined by another column on the original sheet (column b). There are going to be 25 columns and I'd like it to split with the column headers. As far as parsing the data into tabs, I've got several different methods for this I can already use. It's the secured part that I can't seem to get automated. I can, after the fact, manually insert code into each tab that will secure it or loop back to a tab that is viewable when the wrong password is entered. But what I'd like, is some vba code that will do this for me.
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 a created a main workbook with a macro that opens workbooks on a particular sheet from a list of workbook paths and filenames in the main workbook. The macro are suppose to copy the sheet and paste it into a sheet with a new name that I have defined from the list in the main workbook. I can get the macro to open the workbooks and close them. But I can't get the macro to copy the sheet into the main workbook.
I have attached the code and the workbook. I used slet_ark to delete previous sheet and hentark and henttekstfil to open the different workbooks.
The code I use are:
Public Sub Slet_ark() Dim ark() As Variant Dim Counter As Long Dim FirstSheet As Long Dim LastSheet As Long
I have been working on this project for some time and still haven't got anywhere with it. What I am essentially trying to do is create a master summary workbook where by you press a button to activate a chunk of VBA that will grab the same range of data from multiple workbooks but also multiple sheets in those workbooks, only problem is the number of sheets in each workbook are constantly changing so I need first find some way of accessing a closed workbooks, then I need a way of looping through a segment of code that will look into approximately 10 workbooks all with a different number of sheets and taking a fixed range of cells out of each sheet and for every workbook make a new tab and paste the information in that tab then move onto the next workbook, find the number of tabs (missing out the first 3 tabs of every workbook) and copy and paste the fixed range from each tab onto a new tab the summary workbook. I will then have a summary workbook with a number of tabs, each one a different workbook with all the data from all the tabs in that workbook, I can then pull that information using formulas or some more VBA into a summary tab on the summary workbook, consolidating all of the information.
I have a what I believe to be a consistant formula on lines S12-S18 for gathering the sumproducts for dates on column O. Only problem is that the sumproduct formula is not working on line S18 correctly. I keep looking it over and I can't figure out why it is not returning the correct amount for that cell.
Here is the formula I am using:
=SUMPRODUCT((TEXT($O$12:$O$500,"dddd")=R18)*1)
Please see attached line S18 for the error I am getting.
In the attached WB I managed to write some code (behind Sheet1) to change the Source table, itself, into the requested layout. My question is - could this be done by ONLY Worksheets functions - preferable without any helper column - if possible. note that all 4 columns data should be transported to the target table. The upper left cell of the target/new layout table can be put in cell G1 or in cell A15.
I'm attempting to list my data... I have a dynamic table that has the following columns:
number of countries country 1 country 2 country 3
1 Egypt
3 USA Egypt Scotland
2 Scotland USA
As you may have guessed, I want trends on these countries. That would be easier to do if I had a single "Country" columns but I have to work that way.
I would have wanted to work with a pivottable (because they're so "user-friendly" (not always though^^)) but I didn't find a way to do it.
The reason why I want to work with a pivottable is to be able to link my countries results to the rest of the table.. If that's not possible, I'd still want to be able to reference them and say "USA, egypt and scotland pop up 2 times"
I've got folder of 44 files - all copies of each other apart from the data entered in the cells - which have 7 worksheets in them all named differently (Each one is a different day of the week - this is the work of someone else that I have to work on !).
I want to copy the data in the columns A-R of each worksheet from row 2 to the last one with data in column M into a single file so that I can then then work on all that data in a single file..
where # equals the exact cell in the other sheet I want to copy. I'm also starting to realize that with this formula, Senior Monkette and I could take Dingleberry and Bliddiboo and combine them into a more powerful and robust spreadsheet (called "Voltron!").
1. If we're going to be sending Voltron! to the client, all I would need to do is password protect, then hide the Dingleberry sheets so that the client doesn't look at them accidentally, right?
2. If I hide and protect the Dingleberry sheets, the cell information will still show up on the Bliddiboo sheet, right?
3. Since Senior Monkette isn't as Excel-savvy as I am, the entire process would have to be as painless as possible. What I was thinking of doing was having one master Voltron! where Senior Monkette could make her changes and updated. Then every week, save the entire thing, protect/hide the Dingleberry sheets, and then save a copy as a separate Voltron! file, marked by the date, which then gets shipped off to the client. Is there a macro I can run that will do that all with the press of one button? (And how do I install macros?)
I am sure this is a very simple questions. I am using the below code to work on the worksheets on a workbook called "MF BANK EXPOSURE SUMMARY.xls" so far the code that I am using is:
Sub Commandbutton2() Dim iCol As Long Dim Isheet As Long Dim Item As Worksheet Set MFBANK = Workbooks("MF BANK EXPOSURE SUMMARY.xls") For Each Item In MFBANK.Worksheets With Item. Range("A1:T65536") For iCol = .Column + .Columns.Count - 1 To 1 Step -1 If IsEmpty(.Cells(65536, iCol)) And IsEmpty(.Cells(1, iCol)) Then If .Cells(65536, iCol).End(xlUp).Row = 1 Then .Columns(iCol).Delete End If
Next iCol End With Next Item
End Sub
I would like to extend the code so that it works on the worksheets of two workbooks at the same time the one being the "MF BANK EXPOSURE SUMMARY.xls" and the other being "MF CP EXPOSURE SUMMARY.xls" .