Excel 2003 :: VBA - Only Copying Rows With Data In And Moving To New Worksheet
Oct 3, 2012
I am using Excel 2003.
I have 2 worksheets.
Worksheet 1 is called "Master List Data". Every cell within this worksheet contains a formula so that it matches the cell value contained in a worksheet held within another workbook.
The formula for reference is as follows:
=IF('[CCL Breakdown.xls]MASTER LIST - Active Customers '!A1="","",'[WFX CCL Breakdown.xls]MASTER LIST - Active Customers '!A1) .
e.g.
If Cell A1 on Master List-Active Customer contains no data, Cell A1 in Master List Data would be blank.
If Cell A1 on Master List-Active Customer equals John Smith, Cell A1 in Master List Data would display John Smith.
There are currently non-blank values contained in cells A4:A750. But next week there may be non-blank values is cells A4:A790 (i.e. it will grow each week)
Worksheet 2 is called "Master List Flat. At the moment, I am manually copying and pasting the rows which have non-blank values in cells from Column A from Worksheet 1 into this report (e.g. A4:IV4).
I would like to automate this process and I have created a Macro, but I do not know how to word it so that it will only copy cells with actual data in.
The Macro I have written is below:
Sub IMPORTANDFLATTENDATA()
'
' IMPORTANDFLATTENDATA Macro
' Macro recorded 01/10/2012 by walesb
'
'
Application.ScreenUpdating = False
Sheets("Master List Flat").Select
Rows("4:759").Select
Basically the first worksheet (equipment list) is set out for parts used for each individual unit which can be printed out for each unit.
The second worksheet is an equipment list, where each part number and quantity required is displayed which can be sent to suppliers for ordering.
At the moment I
-> copy the equipment list to a new worksheet -> do an advanced filter for "Unique records only" -> =SUMIF('Equipment List'!B:B,'Parts List'!A16,'Equipment List'!D:D)
which is much faster than the way we used to do it.
The problem is, when I add a part to the equipment list that is new, I need to go through the process again.
Is there a way to automate so any parts I add to the equipment list, if it is the first time the part number has been entered, it will copy to the parts list worksheet and update the qty column or if it is an existing part number it just updates the qty column?
The equipment list may potentially have up to 100 different drives, but using mainly the same equipment.
I created this sample on an old desktop using excel 2003 but I use 2010 on my laptop.
I'm simply trying to copy a worksheet (from one location within a file) and place the copy elsewhere in the file. I continue to get an error message that looks like this: "A formula or sheet you want to move or copy contains the name 'Additional_Notes', which already exists in the destination worksheet. Do you want to use this version of the name? To use the name as defined in the destination sheet, click Yes. To rename the range referred to in the formula or worksheet, click No, and enter a new name in the Name Conflict dialog box."
The term above 'Additional_Notes' is just one of MANY references which (apparently) "already exist in the destination worksheet". I tried renaming the range as described above, and when I do, the above error message essentially re-appears, but this time the term 'Additional_Notes' is replaced with another bit of text. And so on. I am not able to copy the worksheet and place it elsewhere in the file without this error message cropping up. I've used the move/copy function thousands of times.
I am able to make a copy of the worksheet and move it into a new (blank) XLS file...but NO luck copying the worksheet and placing the copy in the same file...
I am working on a project that has 5 worksheets. I have been able to figure out everything else I need to do but this has me stumped. I have data in Sheet1 A6, that i want to place in Sheet2 A6, Sheet3 A6, Sheet4 A6 and Sheet5 A6 and keep data and formatting(BOLD AND UNDERLINE). So I change Sheet1 A6 and the other 4 sheets change also. I'm using Microsoft Excel 2007.
and I have to manually reorganize it like this to import into Stata:
country year value
Benin 1991 20
Benin 1992 254
[code].....
Is there way I can quickly design a macro to do this? The problem is that I generally have a list of about 60 countries, and years from 1991-2011. So, it's really time consuming copying the column of data corresponding to the year, pasting below, repasting the list of countries and the years...then again..then again...then again...I'm using Excel 2010.
I have a list of activities (each activity is one row of data). These will be input manually into Sheet2. (see attached file)
The activities then need to be automatically copied and pasted into Sheet1. However, the data is displayed in a different order than in sheet1. So I need some code which will run through a loop for each row of data and then copy and paste it into sheet1 until it reaches an empty row.
The cell positioning of each data set in sheet1 is equally spaced. VLOOKUP will not work for me here as I do not want any formulae or VBA script in sheet1. I cannot change the format of sheet1 as it is a company form.
I have inherited a number of databases in work (running Office 2003). It has quickly become apparant that a vast amount of work is duplicated and so i am trying to cut down the data input and therefore the possible errors.......
I have narrowed most of the work down and now have a major worksheet (is that what you call a complete Excel file) named "master database" and several over minor files....
Currently what i am trying to do is to get the minor files (68 seperate files) to auto populate an area of the master database. I will try to explain it below...
1. Minor database has 2 columns with data i require to auto populate the master database. (1 column (B) is called 'off', the 2nd column (C) is called 'on').
2. A number will be inputed manually into either 'B' only or 'B and C' columns, depending on the criteria of the job..
3. The criteria of the job is dictated by column (Z) where the text 'A' or 'ATL' is inputed
4. The master database i would like to add up the numbers inputed as a total from columns 'off' and 'on' and place them into seperate columns 'E' and 'G' of the master database.
5. IF column (Z) shows 'A' then only column (B) 'off' is to be calculated and put into the master database at column (E)
6. IF column (Z) shows 'ATL' then BOTH columns (B and C) 'on' AND 'off' are to be added together and column (G) populated on the master database.....
To make matters more complex. An expiry date is shown on the master database at columns (D) and (F). IF column (E) does not exceed 12 by the expiry date, i would like the cell (D) to turn red IF column (G) does not exceed 10 by the expiry date, I would like the cell (F) to turn red
Sheet 1 contains huge amounts of data - thousands of rows and multiple columns
Sheet 2 - I want to extract the data from sheet 1 column A into sheet 2 column A but only the data from every 21st row.
I want to be able to copy the formula automatically down, otherwise it will take hours to do it manually. So far I can only get the cell reference to increment by 1 each time after copying.
I know how to separate data into different columns i.e. Marry Johnson into two separate columns; however, I have data in different rows that I need separated into different column. See screen cast [URL]
I need to copy a column of data from Sheet1 to Sheet2, but skipping every 5th row in the original data on Sheet1, but without leaving any gaps in the resultant column in sheet2.
At the moment I've been manually changing the formula but there must be an easier way.
eg. Copying data from Sheet1, A1 to A11, I would have in Sheet2, starting at A1 : =Sheet1!A1 =Sheet1!A2 =Sheet1!A3 =Sheet1!A4 =Sheet1!A6 =Sheet1!A7 =Sheet1!A8 =Sheet1!A9 =Sheet1!A11
Any formula I can enter that would be dragable and still skip every 5th row ?
I need something that will take data from columns in one Spreadsheet and put in difference cells in a row. I know this could be done with recording a macro but the number of column will never be constant.
Below I attached examples of the Spreadsheet
Financials SpreadSheet Need to have the data in column B to F put their respective cells in row in the Master Spreadsheet So we would have 5 rows.
I'm using Excel 2003. I've got two different .XLS files, each with multiple sheets.
I'm trying to create a macro which will copy a range of cells from one sheet on one .XLS file (which is closed) to a specific place on a specific sheet on the current .XLS file (which is open).
So for the sake of argument:
I've got two Excel files: C:ApplesOldFile.xls and C:OrangesNewFile.xls
OldFile.xls is closed -- NewFile.xls is open and in front of me.
I'm trying to copy the data in ranges B6:C41 and F6:F41 from Sheet2 in OldFile.xls to the same ranges on Sheet6 in NewFile.xls. There are no formulas in these cells -- just data (numbers).
I keep getting error messages, failures to copy to clipboard, etc.
I wanted to know if it was possible for me to be able to copy a whole row into a different sheet based on a column value. For example, if B6 = CLOSE, the whole row would be coppied to the sheet name CLOSE. If B6 = OCCUPIED it would be copied to sheet name OCCUPIED. I also need if W7 = to a date thats passed today it would be added to the sheet name EXP PRD. An off topic question, i have this code for column "W":
=COUNTIF(W6:AD155,">"&TODAY()+15)
It works just fine, but I also have "N/A" / "INDEF" in the blocks as well so it's not giving me the correct results. I'm using Excel 2003.
So I have the code that allows me to search for the a certain value in a cell and then copies a certain cell to the other spread sheets. Here is the code that does that
Code:
Sub SearchMacro() Dim LR As Long, i As Long With Sheets("Sheet1")
[Code].....
The code will just need to search for the string "HSFL" and I won't have to hard code all the different variations of HSFL as I mentioned above.
At the moment I do it all manually, and it takes forever. I am sure there must be a simple way of doing it. I am using Excel 2003, but could work in a newer version if required.
The code below should copy website data to XL 2003 However an error occurs at linemarked (**)
Error is:
Object doesn't support this property or method (Error 438)
adn the online help is just UNHELPFUL.
Sub CopyInternetDoc() Dim IntApp As Object Set IntApp = CreateObject("InternetExplorer.Application") With IntApp ' Change file name to suit .Visible = True .Navigate "Intranet website" .ActiveDocument.Select ** .Selection.Copy End With ActiveSheet.Cells.Select Selection.ClearContents ActiveSheet.range("A1").Select ActiveSheet.Paste IntApp.Quit Set IntApp = Nothing
I have an excel workbook with 5 sheets, the first called 'data drop sheet' & the others called 'Louise', 'Thor', 'Peter' & 'Steve'. In the data drop sheet, the first row is header data and underneath (A2 onwards) are rows of data that I have cut & pasted in. The first column (A) of this data will be the person's name, e.g. Louise Wilson.
I want to be able to move the rows for each person to their respective sheets, starting from row 2 as the first is a header. So, for example, if 'data drop sheet' cell A2 says Steve Brady, I want it to copy the whole line to sheet 'Steve' row 2 etc.
I would like to make a macro that will move rows from one worksheet to another worksheet.
I have an excel spreadsheet with multiple columns and rows, within one of the columns there is some text that refers to SOS or County, I need to move everything that has SOS to another worksheet title UCC SOS and everything that has county to be moved to another worksheet title UCC County. Here is a sampling of the worksheet
Each month I get a report that is formatted by the customers and this sheet never changes. The problem is that the master sheet my job uses is not formatted this way. The master workbook has several sheets that breaks down the data from the monthly sheet. Instead of having to enter the data manually I'm looking for a way to export the data from the monthly sheets into the master workbook. As I stated the sheets are all the same but come from different providers and all contain the same amount/style of data.
removing duplicate rows and move other data frm rows to columns.xlsx.
I am attaching a sample excel sheet showing what I need to do.In the first tab, I have a list that includes duplicate rows (first column only). I want to remove those duplicate rows but I don't want to lose the data in the following columns which can be unique or duplicates as well.
see the desired result tab in the sheet to get an idea of what I am looking for as the end result.
Keep in mind that the actual source file I am working with could have up to 50000 row, and the expected results could be around 2000 rows. So nothing can be done manually.
We use work order worksheets in excel with basic information: Date in, work order #, account, date out, total # of days, work conducted by, number of samples, description of sample, etc. Each work order has an individual worksheet. The information in these worksheets eventually get entered into a work order log containing the same information in order to compile a quarterly report. We might have 400 work orders in a quarter.
My question is: How do I link the individual worksheet to the work order log in order to get the data to transfer automatically when a new work order is entered into a worksheet? I'm able to get the first work order to link to the log worksheet, but CAN NOT figure out how to get subsequent work orders to enter into the following rows, rather than just replace the first row over and over.
I have an excel work book with 6 tabs. I would like to have Excel move an entire row from one tab to another tab (removing the row and inserting it in the other tab). I.e. Example I have a tab with items that are marked as "Open Actions" so if I were to change the drop down to close. Excel would move that entire row of actions to the tab with the "closed actions" and insert into the next available row. Now if someone were to come back at a later date say no it should be reopened than I would change the drop down to open and excel would move that row back to the open actions tab into next available row. I tried a PIVOT table and no good I played with few macro and not.
I have a spreadsheet with various details sorted by date and i am trying to create a macro that will run whenever the workbook is opened and search the column "Renewal Date" for a date between now and 3 months time. For all rows with a date that meet this criteria it will copy the relevant rows and paste them to a new worksheet with the header. The renewal date column could be added to so i need the macro to run until it meets an empty cell. I have attached an example workbook with cutdown data and my attempt at the macro.
I am using Excel 2003. I have a worksheet called "RawData" which has a continuous list of invoices, I need to separate off the first invoice from the rest of the invoices into a new worksheet and call it "sheet1". The number of rows from cell A1 at the top left corner varies and is never constant from invoice to invoice however the last row of the invoice I need to move always includes the text string "NET PAYABLE TO".
So I need to copy all rows from "A1" to the row that has the text to a new worksheet called "sheet1", I then need to delete those rows only from the original "RawData" worksheet, leaving the remaining invoices in "RawData" intact. If it is helpful to you, the first row on every invoice has the text string "TAX INVOICE".
There are no empty rows between the "NET PAYABLE TO" row at the end of an invoice and the "TAX INVOICE" row at the start of the next invoice, so it is literally a continuous list.
Can this routine then be continued on all the other invoices in "RawData", copying them to new worksheets in the same workbook "sheet2","sheet3" etc until there is no data left in RawData, bearing in mind that there may be 10 invoices or 100 invoices in the "RawData" sheet.
I'm essentially getting a lot of data at the moment, which has a few orders people have made on my website.
Essentially, think order id, address etc and then all the products the customer has ordered.
However, the part which includes what the customer has ordered creates multiple rows of data, with the order ids etc duplicated. What I need to do is consolidate this into 1 row. So to add additional columns instead of rows.
The reason fro this is I want to mail merge the data into an invoice and mail merges work of 1 line of data at a time. I've attached an example, any way to do this?
(Attached to this post / or linked here: [URL] ....)
Is there a way without using code to have the text in a text box (excel 2003), copied to another cell or another text box on a different worksheet?
I have information in a text box on 1 worksheet. I would like this information to automatically be copied to another worksheet. On the master sheet, if any of the information gets changed or updated, the copied information should get updated as well.
I use Excel 2003 & I am trying to design a worksheet to keep track of signs I make & their order numbers. I want the names listed alphabetically. When I add a new name & I arrange the column alphabetically, the columns with the order numbers do not relocate along with the names column.
I have a sheet witch has a number of tick boxes and depending on the response a number of hidden rows may open to allow further info to be recorded, how do I protect the sheet in excel 2003 as unlocking certain cells & protecting the sheet will not work.