I have a workbook that has a sheet called CustInvData, this sheet contains 4,421 rows of invoice transaction data for 178 customers starting on row 2 (headers on row 1). I need to split the transaction data for each customer out into a workbook template based on the customer name in column A. I need each workbook named by the customer name along with a month and year (example: Bellsouth-0911.xls), this should create 178 unique workbooks. And since we sometimes have to go back and rerun invoices for previous months, I'll need to control the month and year manually in the code.
The parsed data needs to be copied to a pre-formatted invoice template. This template has 2 sheets, Sheet1 is called 'Product Summary', this is a table that uses VLOOKUP functions to read the data in Sheet2 called 'Product Details', this is the sheet the parsed data needs to be copied to for each customer invoice. The 'Product Details' sheet has formatted rows 1 thru 11, row 11 being the header row for the data from CustInvData to be copied. So the parsed data needs to start at row 12.
Last, once the data has been copied into the 'Product Details' sheet, I need the data to be SubTotaled at each change in column J (Product) and use the 'Sum' function to add a Subtotal in column L (Retail Price) for each unique product category.
Example data below, I've simplified it (the actual data array spans from columns A to Y)
I have directory with multiple workbooks. Each workbook contains multiple sheets (sheet 1, sheet 2, etc). On each sheet of the workbook, there are various data. The data I am looking to extract from these sheets are in the same cell of each sheet. (See data sheet –datasheet.xls). If I can extract these data without opening the file, it would be preferred. Otherwise, opening the workbook, extract the data, and then close the workbook is acceptable.
Desired Solution:
I would like the assistance to create a macro that will extract data from each sheet of the workbook in the directory at a time until all the workbooks and sheets within the directory are read. The macro shall extract data from cell B5, B6, B10:B20, and sheet name from each sheet of the workbook and copy these data to an active sheet called “US” on workbook, DesireResult.xls. The DesireResult.xls shows how the data should be copied over. Before copying the data to the DesireResult.xls workbook, the macro will prompt the user to enter a cell on the “US” sheet as the starting point to paste the information to. Prompting the user to enter the beginning cell shall happen only once and not for each workbook or sheet being read. The reason for this is because the “US” sheet will already have other data in it. After reading each sheet, the macro shall leave a blank row at the end. The data from the next sheet shall be pasted below the blank row. Note: all the workbooks contain macro and link to other file. When opening each workbook, the macro should automatically choose not to update the links.
I have a group trip coming up where we took in a $1000 deposit per person. The total amount is only in the main members cell. There will be two more payment amounts coming. I need to make certain each person has paid the total amount they are required for the trip. There are two possibilities for total trip amount. Double occupancy is $15,500.00 and Triple is $14,500 per person.
There is a unique Identifier for each registrant, except when there is a multiple person under one registration the identifier has all the same number except at the end. I figured out a way to strip the number down to just show the same number in one registered group. There could be up to 10 people under one registration. I might not have the best option for breaking down the Identifier number, but thought it would be a good start. Used the code Left(column, number).
Issue is this. How can I now take the total number of people under one group take the total deposit and split it between just that unique group so I can then determine what is still owed after payments are made.
On this forum, a script is provided to break a large Excel file into smaller 500-line files:
Split Worksheet Into Multiple Files By Every Nth Row
I copied the code and pasted it into the VBA editor in Excel 2007, but when I run the macro, it generates an error message: Runtime error 91: Object variable or With block variable not set.
The line the debugger identifies as the one with the error is this one: For lLoop = 1 To rLastCell.Row Step 500
Here is the full code from the previous thread: ...
I have tried to write the below VBA to copy a specific cell to a specific workbook. I have set the folder path in B1 and listed the file names in column E4 onwards. E1 being the number of files in column E. I get a run-time error 91 "Object variable or With block variable not set" on Current File = ActiveWorkbook.name.
Sub UpdateParameters() Dim CurrentFile As Workbook Dim wbOpen As Workbook
I would like to extract and compile the information contained in these cells: a5,c5,a6,c6,c7,a14,g14,e16,g16,e18,i18,a20,g20,h22,j22,h24,l24 all the sheets.
New sheet would contain the information of each sheet eg. Column A2= file name
And Row B2 to R2 or whatever will be the corresponding cells mentioned above for each cell. The code I have only brings back the file name but only a5 from the range but not the rest.
VB: Sub MergeAllWorkbooks() Dim SummarySheet As Worksheet Dim FolderPath As String Dim NRow As Long Dim FileName As String Dim WorkBk As Workbook Dim SourceRange As Range
I have an address in one cell in excel. Street/City/State/Zip are all separated by two spaces like this: 123 Anywhere St Chicago IL 60607 United States
I want to break them out into separate columns. The "Text to Columns" won't work because there are no commas or dashes separating the data.
I'm attempting to take a Workbook that contains 1000 Worksheets and split it into 2 separate WB's of 500 WS's each ... basically half it. This could also apply to a WB that contains less than 1000 WS's, but it is highly unlikely it will ever contain more than 1000 WS's.
I'd like each new WB created to be saved in the original path with the original filename followed by a "1", "2", "3" or "a", "b", "c", etc. For example: Original Filename = ImpactAnalysis.xls New Filename 1 = ImpactAnalysis (1).xls or ImpactAnalysis (a).xls New Filename 2 = ImpactAnalysis (2).xls or ImpactAnalysis (b).xls
I've located 2 modules in the forum that are a good start, but each creates a separate WB for each WS, which is a bit cumbersome with up to 1000 WS's in the original WB.
Sub splittest() Dim sht As Worksheet Dim w As Worksheet Application. ScreenUpdating = False Application.DisplayAlerts = False For Each sht In Worksheets Set neww = Workbooks.Add sht.Copy neww.Worksheets(1) With neww .....................
I need to split this data based on column B = type of fruit e.g. Apple, Banana, Orange etc into different worksheets - e.g named banana with only banana related info. but still need to keep the same level of formating - colours etc.
I have created a sample spreadsheet (the real data is sensitive) but I am basically faced with a spreadsheet of many columns of which I would like to remove the 4th,5th, 8th,9th, 12th, 13th etc...
So every 3rd column starting from Column B, and also every 3rd starting from Column C, (every 3rd, and every 3rd + 1 starting from B?), it's obvious what I'm after from the spreadsheet I've provided.
Unfortunately manually isn't an option, this needs doing every week, and it goes all the way across to column HZ!
i have some large reports that i get each day and have to sort into date time order and only keep the newest occurance based on column 2
at the moment i have a vba that converts the list to space delimetd columns, then selects all sorts into date time order, then deletes dupliactes as of column 2 keeping the most recent,
is there a more efficient way just to keep the most recent occurance and removing the rest
example file. so the 2nd row would be what i am left with
I have a very large spreadsheet that is a consolidation of approximately 105 separate of contacts lists. The new consolidated spreadsheet contains demographic data, and a column for the name of each of the 105 lists. Each contact in the consolidated list had an "X" placed in the column if they were a member of that particular list. Each contact can be in more than one list. This is not very useful for me.
Here's a visual representation of the current list along with what I need:
I would like to add a column to the spreadsheet and call it "Source"
And then have a macro or VB script to do the following:
1. As shown above, put the column name (ie "List2") in the "Source" column whenever there is an "X" in that row for the corresponding Column. 2. Because each contact can be in more than one list, I need to append the column names so that "Source" column contains all of the column names (Lists) that had an "X" 3. Once all of the list names have been added to the "Source" column, I will delete the list columns.
How do I make the column headings appear when I'm working on a large spread sheet so I don't have to scroll to the top each time to see where I am. This is on Excel 2007.
I would like to separate data into multiple workbooks based on a unique value in the column. For instance if I have Departments in Column F, that has data of accounting, HR, etc. I would like to put all accounting data into a accounting workbook and all HR data in a HR workbook.
I have a very large spreadsheet that was exported from an ecommerce site with close to 1000 products. I have one column that I need to extract some text from. This column holds all of the html from the product description and is huge. I only need to extract the actual description of the product, but am having a very hard time figuring out how to do it. I've tried using the mid, left, and right function; but not all of the html is the same so it's not really working the way I need it to.
I have multiple tags throughout the html that I can use with the mid function, but there is more than one occurrence of them. So, how can I tell it to start at the 4th occurrence? I've spent countless hours searching, but I'm a complete novice when it comes to excel and I don't even know what to search for. I end up looking through sites that explain how to pull the Y out of XYZ, which is what I need, just on a much larger (and more complicated) scale.
It was suggested that I set up a macro that will find the 4th occurrence of the word, and then uses the mid function to pull the data out, but when I try to find the word, it says it doesn't exist even though I can see it right in front of me.
I am creating a spread sheet with a large amount of data.
In column a I have a list of managers, in B I have a list of employees and C, I have a list of activities that have been recorded throughout the day.
What I want to do is create a list (on a new sheet) so in column A that would bring back all the managers. Then in column B, bring back the employee that is tied to the manager from column A and finally in column C, bring back the activity that is tied to the employee.
I know how I can do this by doing list validation with INDIRECT, but with the large amount of data that I have this would take forever in a day.
I have a large spreadsheet which contains multiple rows of rate data by employee. I have sorted by effective date with most recent date on the top to get the most recent rate of pay, however, is there a way or formula to be able to identify or extract the previous rate of pay after that? I have included a sample below. There are different #'s of rows of rate of pay based on how long someone has been in company, as well as different rates of pay and effective dates.
I am using the close.workbook command in VBA to close a workbook I opened to copy data from. I am getting a message that says "You have a large amount of data on the clipboard. Do you want it available?" What command do I use in VBA say no to this message?
I work with Excel 2010 and have a very large spreadsheet with data that I need to manipulate in several different ways. I have been filtering and then cutting and pasting but this is very time consuming . Is there a way to extract specific data from the spreadsheet and transfer it to different worksheets? I don't really know how to use macros.
User will save as Job # or Job name to their computer This job # or Job name will be also typed in location ..lets say cell a2 of every workbook the user creates from the master workbook. After the user is finished inputting all data into workbook they save it when they save it to send or have another workbook pull from it certain information...lets say total hours and total $$ respectively in cells s30 and p18
this workbook will save those numbers every time the user opens the one he is working on and saves it(could the workbook be closed and still store these data figures from other workbooks)
workbook called "DATA STORAGE" will compile this information from every workbook created from the original master workbook.
The point is so that the user can instead of opening up a possible 50 to 60 workbooks to check on $$$$ and hours they can see that information from all 50 or 60 workbooks at once on one page.
the question: i'd like to split a large cell in to smaller, fixed-size cells (columns) by a standard formula.
example: consider cell A1 = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' i'd like a formula that created B1 = 'ABCDE' C1 = 'FGHIJ' D1 = 'KLMNO', etc
I used =Left (A1, 5) and got A1 = 'ABCDE' easily enough. I'm stumped at coming up with a formula that provides the next 5, and the next 5, etc.
the setup: if you want to know why i really need to solve the question i'm asking rather than using the split cell function:
i have a large set of data from a vendor. ideally, this worksheet will be used for other vendors that submit data similarly.
the script i'm writing takes a specific format--which i can't logically hold the vendors to. so, my specific formatting is on one sheet, referencing the data from each vendor on another sheet.
there is one field of data from vendors that is large ( >4000 characters, typically). however, this field makes my SQL server puke. i need to break this field down in to chunks of 1000 characters, and then re-concatenate after it leaves SQL to its final destination.
because i want to use some script automation to reuse this project, i'm reluctant to just use the split cell function to break up the data. rather i'd like to use whatever data is provided, and referentially split it up in my pre-formatted data.
The spreadsheet contains over 21,000 rows of data, and one of the columns (D I think) contains data as in the two examples below.
What she wants is to split this column at the semi-colons ( and have the column header as the "field" name.
Unfortunately not all the cells have the same number of "fields" as you can see. Some don't have an "addressLineTwo" while others also have "stateprovince".
Is it possible to split the column so each "field" goes into it's own column?
Please note that if a "field" is missing there is not two semi-colons to indicate an empty field. I'm also fairly certain that, between them the two examples below show all possible fields.
Data Examples.
addressLineOne:Road Belen Staana;addressLineTwo:Costado Oeste;city:SAN ANTONIO DE BELEN;highRate:194;latitude:9.97631;longitude:-84.20038;postal4005
Didn't there used to be a "Split" function that split text over two cells? I'm sure I used it years ago, but can't find any mention of it in Excel 2003.
The following code takes a large range of data (currently 20K+ rows) and breaks it out into separate worksheets. This takes a while, and I have been trying to insert a progress bar into this macro, but the progress bar goes in reverse (from 100 to 0) but the userform will not unload at the end.
Sub MoveCells() Dim objBook As Workbook Dim objSheet As Worksheet Dim lngRowSpace As Long Dim strName As String Dim lngTimeRow As Long Dim lngStartRow As Long Dim lngInteration As Long Dim strDataSheet As String Dim boolError As Boolean Dim counter As Integer Dim PctDone As Single
I have two spreadsheets, one gives me the beginning and end of civil twilight as a measure of day vs. night. The spreadsheet has Date/Time in the first column, and the value 45 in the 2nd column when it is night. The second spreadsheet has also 2 columns with date/time and body temperatures of a squirrel. I want to get basic statistics (mean and standard deviation) of the squirrel's nocturnal body temperature, that is for times when it is night (value 45). The tricky part is that Date/Time of both spreadsheets are different. The procedure has to recognize that the date/time of body temperature lies between the beginning and end of the value 45 blocks of the first spreadsheet.
I have 300 rows worth of data that looks similar to this, all organized in one column:
John Q. Smith Programmer 2111 NW 13th St Anywhereville, USA, 55555 (555) 555-5555 Joe P. Snider Organizer 5645 NW 45th St Anywhereville, USA, 55555 (555) 555-5555 Patty Williams Accountant 6454 NW 34th St Anywhereville, USA, 55555 (555) 555-5555
As you can see it is consistent with the name, position, address line 1, address line 2, Phone number, for every single entry. All my names are already alphabetized so I don't have to worry about it. What I want to do is have the information for each entry translated into 5 separate columns so it looks like this.
John Q. Smith Programmer 2111 NW 13th St Anywhereville, USA, 55555 (555) 555-5555 Joe P. Small Organizer 5645 NW 45th St Anywhereville, USA, 55555 (555) 555-5555 Patty Williams Accountant 6454 NW 34th St Anywhereville, USA, 55555 (555) 555-5555
Supposing I started the sheet in the top left corner at A1, I was just going to have cell B1=A1 then Cell B2=A6 then just autofill down column B but it doesn't work. I have seen some people do something similar to what I want with VBA but I am convinced there has to be something simple in with an excel formula seeing as my information is already so organized and consistent.