VBA To Sort And Consolidate Similar Items From Imported Data
Sep 6, 2013
We have a software program that we use to takeoff HVAC equipment on drawings. It will export all of the items to an Excel worksheet. Once it is into Excel I need to sort the data by two or more different columns, then sum three to four columns for each unique item for transfer to the equipment sheet for pricing. I've searched this site and others, but have not found a way to do this with VBA in Excel.
Floor
Rank
Name
Description
Qty
Cost
Labor
Seismic
[Code]....
The sheet is a simplistic view of what I'm trying to explain, obviously in high rise there will be many floors and hundreds of items. The actual spreadsheet has approx 12 columns, but only 3 or 4 need to be summed per similar item. Most times I sort by Range & Name. On occassionwe need to sort by Floor, Range & Name. Used to do this with a Database & RR Report Writer, but the new software does it onscreen with digitized drawings.
I need to sort data similar to below using the following conditions. If the total of A's is greater than 4 they get an A. If the total of E's is greater than 4 they get an E. If they have more A's than E's, assuming they have at least 4 of each then they get an A. If the total is 5, but they don't have 4 A's then they get an E
NAME E'sA'sTOTAL John 235 ( so this one should get E) Mary 459 ( This one should get A) Tim 112 (This one shouldn't get anything) Jane 145 ( This one should have an A) Sam 415 (This one should have an E)
I would like this to sort in one cell - I can do this over 5 cells - but not in one.
I cannot figure out how to keep my formatting in this post, so sorry for this being smooshed************
I have data that looks like this: DISTRICTS TESTS PERCENT IN HFZ Alphaeus District Editing BMI 100 Alphaeus District Editing CurlUp 100 Alphaeus District Editing ModdedPullUp 100 Alphaeus District Editing OneMileRun 100 Alphaeus District Editing OneMileWalk 100 Alphaeus District Editing SitAndReach 100..................................
When I try and chart it I get the whole DISTRICT label going upwards and theTESTS going sideways... causing a jumbled mess....
Is there anyway I can group these Items first so I would get something like this in my chart:
New District test 1 bar test 2 bar test 3 bar Alph District test 1 bar test 2 bar.......etc
I have a workbook that has multiple tabs and need help trying to figure out how to consolidate all the data. I find myself spending hours doing this manually each day.
Here is what I have:
Workbook has tabs labeled....Wk1_Mon, Wk1_Tues, Wk1_Wed, Wk1_Thurs, Wk1_Friday, Wk1_Summary......and repeats all the tabs through Wk5....then I have a Month_Summary tab.
I have 25 users with 25 seperate workbooks each with individual information on each workbook.
I am trying to get a sum of all the data on the Month_Summary tab for each month for each user and as well as a sum of the Month_Summary tab for all 25 users.
The end result I am looking for is to get a Yearly Sum of all the Month_Summary Tabs for all 25 users as well as individual yearly summaries for each users.
I have one main Folder which contains 25 folders (one for each user). Under each user folder there is a seperate Workbook for each month.
I need to group some invoicing values by date, but can't even sort the first column by date, so am going nowhere fast. I have the following type of data -
All dates are within 2013, and I need to be able to give weekly totals, on 18000 lines of data similar to above, but have no idea where to start - and can't even sort by date as it stands!
I have attached my particular spread sheet I an referring to.
I set up a spread sheet to write out all the material I buy to go into a product I make. I work my way through a layout diagram and type all my data in to a spread sheet, one row per item I need to buy.
Now I want to order everything. Is there a way to sort the spread sheet so it brings all my like items from Column A (item) together, so I Can count the quantity required to order?
I have tried to sort, but am worried I might be messing up the rows and column - all the row information must stay together for it to work.
I can get this to display in my listbox however when I add a new line to the range it won't refresh the list unless I reload the form it is on. I am also looking to see if it is possible to sort a list when it is displayed in this fashion.
The code for sorting a multi-column listbox in Retain Selection After Sorting ListBox was really good, and I've used it a lot in an application I'm building.
What I'm hoping to do is reload a listbox in such a way that the items appear in the same order they were previously in. I'll describe two scenarios: 1. User edits a record - user sorts listbox - user selects a record - user edits record - listbox reloads, unsorted
2. User adds a record - user sorts a listbox and sees a record is missing - user adds the missing record - listbox reloads, unsorted
ideally the last step for each would be "listbox reloads, sorted" and the user would go on down the list. the tricky part i think is when rows are deleted or added.
i'm starting on a solution, but if there's some existing code that will do this i'd appreciate if someone could point me to it (because, for example, the listbox sorting code i referred to above anticipated things i did not).
I have a workbook that requires refreshed source data each day. The workbook has all of the macros and formulas that analyze the data. I have the following code to import the worksheet with the raw data (onto a fresh worksheet in the calculation workbook), but I would like to create code that also adds the date and time to the imported data worksheet -- not the date/time the raw data was created; instead, when it was imported into my calculation workbook.
Below is my code for importing the raw data worksheet:
Where H1 contains the word Assigned. I need to also find and add to count for matches in I1,J1 and K1 which contain New, Pending and Work in Progress respectively.
I am working with Microsoft Excel 2003. I am trying to import(or something like it) from worksheet (A) to worksheet (B). Worksheet A is a spreadsheet that I have saved to keep the same row names, etc. but the information within the named cells is forever changing. I also save the information from worksheet A, but have another copy that when I open, it always opens without any changed data in it. MY question/problem is that I need to import the data from A to B, and every time that A changes, I need B to automatically update the data and continuously add to the spreadsheet I have made up for B. I can NOT have A overwrite any data that I have already put into B.
I've imported a few thousand lines of data into excel, but some rows have a rogue character or a blank cell in the middle of them taking up a cell and shifting the rest of the row along one cell and putting it out of sync with the columns I want that data in.
Is there a way of remedying this without going through and manually moving a couple of hundred rows along one cell.
I'm not sure I've explained that particularly well, so I'll try and illustrate it with an example.
Ignore the fact that they are all 1.23, I've just used that to make it quicker for me to show. As you can see row 3 has a ------ (representing a rogue character or blank cell) in the 5th column shifting columns 5-9 right one cell.
Now as I said I have a few thousand lines of data like this with maybe 2-3 hundred rows with this problem and I really don't want to manually go through and fix each one.
Is there a tool in excel or a way of using VB to fix this?
Alternatively, is there a way when importing the data to have a number of delimiters rather than the one extra one you can select to remove these on importing?
Maybe it could be fixed by taking any blank cell (or character) and deleting it whilst shifting all cells to the right of it one cell to the left?
I have import the database from SQL server, all the records imported begins with a blank space and they can not be trimmed using Trim function. Is there any smart solution ? I prefer to get VBA code to solve the problem.
to extract a number from an imported cell containing text, a number and date. i need to use this number as part of a formula in another cell and the data needs to be refreshed every hour.
eg. the cell imported is "USD 30.97 (March 27, 2007)" and i need to use 30.97 in another cell.
i've tried using data - text to columns, but i realised that after splitting the cells, the 2nd and 3rd columns can't be refreshed.
I have recently changed my software at my work from Sim-pro to Clik. I have about 4000 customer details that have been exported from Sim-pro to a CSV file but unfortunately some of the addresses are in one cell and need to be split up into 2 or 3 cell so it can be imported into Clik. In the Sim-pro program addresses are entered into one dialogue box e.g Address 1(house name - if applicable), Address 2(street name) & Address 3(suburb/area), after each line you press enter to separate them. The town/city, county and postcode do have their own entry box though and these do import normally into excel.
Unfortunately to import the addresses from the CSV file into Clik the Address parts 1,2 & 3 need to be in their own cells but obviously these are all in one cell(not every address have 3 parts some just use 1 address line which is fine). Can excel recognise the imported information from Sim-pro that is separated by 'enter' in that one cell and move them into another cell? I have tried using text to columns and selecting delimited and entering 'ALT 010' in the 'other' box but that doesn't work.I'm dreading the thought of going through 4000 addresses and cutting and pasting parts of the cells....
I imported data from another program to Excel, it is an address database. Some of the entries are all capital, some are all lowercase, some are proper. I would like to switch everything to proper. I have tried numberous times to do EXACTLY what I am reading about copy and pasting, entering the formula, designating the cells I want it to apply to. However, when I do it, nothing changes.
I have exported a aging report from SAL to excel. Now the problem is each figures in the report is not in number format. when i checked each cell contains a space after the numbers so excel does not treat them as a number format.
how i can remove all the spaces in those cells. find and replace doeasnt work.
I have imported some files in to excel. I have attached the test document to give you an example of exactly what Im working with. Here is what I need to do.
1) On a separate worksheet I need to sort out the data by invoice number (Column E).
In the example I have on the worksheet titled "Main" I have listed what I would like it to look like. The purpose of this is that I don't want any spaces in rows. I just want a long list of invoice numbers and their information (Including the project number & customer on all rows). In long story short I want to erase all the information from A18:A25, and add project number and customer name to all the correlated invoice numbers. The way I think I can do this is that the first 4 digits of the invoice numbers are the same if their in the same project.
i want to import data from sheet2 a1 from sheet1 a1 continously. now problem is when iam importing i shouldnt loose my previous data. eg: at time 11 when i import data to sheet2 a1 from sheet1 a1 with value 9. and at time 12 when i import data to sheet2 a1 from sheet1 a1 with value 10. value 10 will be over wrting value 9. here i shouldnt loose value 9. i want values comming afterwards should come to next row.
I have an excel spreadsheet that contains customer data exported from Quickbooks. In that file there is a column called CType (Column G) which contains the scheduling cycle for that customer. There are eleven different possible schedules, including 15xYr, 1xMo, 2xMo, EOM (every other month), EOW (every other week), EOW-S / 1xMo-W (every other week between 5/1 and 10/31 and once a month during the rest of the year), EOW-Th (every other week but must be on a Thursday), ETW (every third week), On Call, W, Q.
Although the number of records changes daily, on average there are about 950 rows of data in the spreadsheet.
I need to set up an array (?) for the values in column G starting with G2 through the last non-blank row (all records will have data in column G), and calculate the next scheduled service date based on the schedule type shown in column G and the last service date which will appear in column M of that row. The last thing I need to consider is whether there is a value in Column N, which would represent a hard-entered ‘Next Scheduled Service Date’. If I find a date in that column it needs to over-ride the calculated value. My assumption to this point is that I should use a new column T to hold the value of the calculated schedule date. There are a few other details, but rather than confuse this whole thing further I’ll stop there.
What I’m struggling with is the most efficient means of running this macro. I’ve been looking at many, many threads over the past few weeks, reading VBA Programming for Dummies (which I apparently am), and reviewing other resources.
I want to be able to do, however. I want to make a spreadsheet that has all the equipment items preloaded into it, along with the quantity that we're supposed to have of said equipment. Then, I would like to import the data from the text file, having it match items in the spreadsheet to their equivalent in the imported text file, and then bring in the quantity scanned. That way, I can use some conditional formatting to show when there is a miss match between "Required" and "On-Hand" quantities.
What I don't know how to do, is get Excel to only import the name of the item, and the quantity scanned, instead of all of the information that the scanner spits out. Also, I don't know how to make it match the name, with the one preloaded into the spreadsheet, so that the correct quantities are matched up. Here's an example of what the scanner spits out: FIELD WIRE,6145-01-155-4256,[Scanned Quantity Goes Here],N/A,N/A,RESPONSE TRAILER,,
The scanner creates records like this the first time you scan an item. So if you scan Field Wire first, it's the first record. However, if you scan it fourth, it's the fourth record. How do I make that match up with a predesigned spreadsheet?
With iSheet i = .Range("A" & Rows.Count).End(xlUp).Row j = .Cells(1, Columns.Count).End(xlToLeft).Column
.Range("A1", .Cells(i, j)).ClearContents
[Code] .......
If I use F9 to pause the code before the sort part in blue, then the data imports into Excel from the database and then subsequently pressing F5 sorts the data as required.
However, if I run the macro in a single pass, the data does not sort. Why it's not sorting as expected and how to make it sort as required?
I am importing data from my AS400 in Excel, the dates are coming into the spreadsheet as numerics. How do I convert these numbers into a date format? i.e. 3202002 should be 3/20/2002, how do I get the number to that format?
I've created a spreadsheet which, on running a macro, imports data from a text file, formats it and then sums various parts of it giving me a subset of the large file as a range of data for a chart (a pie chart) on Sheet 2.
The problem begins when I delete the data in the worksheet in preparation for another import - the Pie chart just loses all the data and I have to manually reselect it in the chart each time.
Once deleted the chart is blank, but as soon as the data is imported, I get reference errors when I click on Sheet 2
I must be doing something wrong. You can delete data and repopulate it and the chart should pick up with the new data. If the cells it is referencing are empty, it is blank. Not so here.
Is it to do with importing the data? Or the formula for my chart data?
I am trying to achieve can not be based on a range of rows or cells it must as this data is imported from a forecasting application and the location of the targets may change.
Perhaps an offset to the current selection can be used some how, but have a look-see if you know where Im coming from.
'I have used this to find a target in a data range.
Dim r1 As range
Public Sub FindDataIn Range(r As Range, target As Variant)
Set r1 = r.Find(target) If r1 Is Nothing then Msg Box target & " was not found" Else r1.Select End If End Sub
'Then I inserted and Named this procedure to find the data on various assumptions or targets - SUCH AS THE VALUE "14306".
Then I write this again for another Target such as 14307 and it repeats
The result is that it finds the target cell I get an empty row above the two rows that contain that target. (LET ME EXPLAIN WHAT I MEAN BY TWO ROWS)
The thing is there are two rows containing 14306 in that range and the range is sorted ascending so that they are positioned one under the other. Each row has different forecast totals beside this number because one is an export SKU and one is a Domestic.
What I want to do is combine the two rows as one with one row of forecast totals for the number rather than two.
Like this: 14306big Widget Domestic 26 89 (This is combined as a new row)
Instead of this: 14306big Widget Export 12 14 (These 2 rows are then deleted) 14306big Widget Domestic 14 75
Also the Forecast totals run across 12 columns (one for each month) and then there is a column for year totals of each row that needs to remain the same.
Most important this here is this cannot be based on a range it must as this data is imported from a forecasting application and the location of the targets may change.
So I have this problem in excel with comparing 2 columns.
Basically, I have 2 columns(a &B) that I need to compare with one another and find out the matching data. I am trying to use that matching data to enter in our reports.
Both columns might have duplicate items because I am dealing with premium numbers.
Formula to compare these 2 columns and find the matching data and extract it to a separate column. Keep in mind, i am dealing with almost 20,000 lines of data.
I have a lot of rows of data all divided with an empty row and if they are 6 or less all rows need to be entirely deleted any 7 or above need to be kept.