I need some VBA help in copying ranges from one sheet to another and pasting them on a predifined order. I have one worksheet that contains a large number of ranges with data on alphabetical order. Each entry on this sheet contains several rows of data and is identified by a name (e.g. entry "David" = rows 6:11, "Mark" = rows 13:18 and "Rose" = rows 20:25). I need to select certain ranges from this sheet and copy them on a predefined order on a different sheet (e.g 1) Rose, 2) David 3) Mark. The sequence is neither set by date, alphabetical order, nor by value. I have the order already predifined. I guess I could do this by specifiying the source sheet ranges and the destination ranges as well, but as I have over 2000 entries (each consisting of six rows), I need an efficient way to do it. Any help you could provide would be greatly appreciated.
I have a data entry sheet for attendance that shows the individuals name, date and hours attended. Each individual attendance is addedd to a new row. I need to transpose this data and display it in a report table, with the names in column A and showing hours worked for each day of that week. The formula needs to accomodate the growing data entry sheet as records are added (I'm using a date picker to change the week in the report sheet).
I've tried match, lookup and index and have confused myself thoroughly! Below is a sample of the data entry sheet (on left) and report table (on right)
******** ******************** ************************************************************************>Microsoft Excel - Book1___Running: 11.0 : OS = Windows XP (F)ile (E)dit (V)iew (I)nsert (O)ptions (T)ools (D)ata (W)indow (H)elp (A)boutH1I1J1K1L1M1= ABCDEFGHIJKLM1SurnameDateHours**Surname1-Jan2-Jan3-Jan4-Jan5-Jan6-Jan7-Jan2Smith1-Jan-076**Smith63600363Jones1-Jan-076**Jones66000304Rogers1-Jan-076**Rogers60600005Hathaway1-Jan-076**Hathaway60600006Pearson1-Jan-076**Pearson60000007Wills1-Jan-076**Wills60000008Smith2-Jan-073**********9Jones2-Jan-076**********10Smith3-Jan-076**********11Rogers3-Jan-076**********12Hathaway3-Jan-076**********13Smith6-Jan-073**********14Rogers6-Jan-073**********15Rogers7-Jan-076**********16Rogers8-Jan-076**********17Rogers5-Feb-076**********18Smith6-Feb-076**********19Jones6-Feb-076**********20Rogers
In the attached spreadsheet my data consists of columns A through K. Essentially I want to line up the data so Column E matches column K. When no data exists in the other section, then a blank line should be inserted. The example I gave has the data formatted the way I want it. As you can see, line 11 is blank. Column L can be ignored as my manual way to handle this was to create an if statement that returned "Error" when something didn't match.
My spreadsheet has 29,000 lines in it. So doing this with my IF statement method would take enormous amounts of time.
In the first colum there are sub-columns that i need to reorder into flat format. This would be easy if all sub-columns were from the same size, but this isn't the case.
I think that I need to use a macro that finds the records on the colum, based on each title (A, B, C, D for the illustrative example attached). and then paste them into a new column.
I figure the before/after image would be best to describe what I need. I have various sections of data saved in this one spreadsheet which a program reads from for comparisons.
Right now they are in a list form like this:
Now the end result I want to look like this. Basically take the items in the column, and add the items selected next to it, one in each column not including itself of course.
These are basically the comparables, example this list would be "car manufacturers", and below that in cell A7 I might have another list started that has to do with "motorcycle manufacturers" etc
The end result would give a row of all possible combinations. The app we use pulls from the rows so it needs to have all of the items that are comparable in there and I can't seem to find a way in which to do this.
Hopefully this is understandable when you see what I manually did (unfortunately I need to do this for about 4000 entries, a few hundred groups of different characteristics).
I have a workbook containing many pivot tables. When I create a pivot table everything works fine. When I close the workbook, reopen it, and refresh the pivot table, the new data will appear at the bottom of the table instead of being inserted in the proper row in the table. Since the table is no longer in sequential order my VLOOKUP functions don't work properly. What do I need to do to get the already established pivot table to refresh properly?
I'm trying to sort out a list of names from a website that publishes names in the following format:
DOE John VAN GOGH Vincent DA VINCI Leonardo NADAL PARERA Rafael JIMENEZ RODRIGUEZ Miguel Angel
What I'd like to do is get the names in the following format
John Doe Vincent Van Gogh Leonardo Da Vinci Rafael Nadal Parera Miguel Angel Jimenez Rodriguez
Basically all the last names - which are all capitalized - would be moved to the end of the text string. Of course any leading spaces should be removed and I guess using the Proper() function, all capitalized words could be capitalized in a standard way.
I found the following function, here: [URL] ...
but what it does is just take the capitalized words and separate them into a separate cell, which is not all of what I want.
I have a workbook that includes 4 seperate sheets that are used to record time and expenses for 4 members of staff. I want to write a macro to select the data I need from each sheet and colaberate together in a 'data' sheet so I can combine all the info to run time and expense reports per client showing combination of all time and expense incurred from all 4 staff.
I have named cell ranges in each of the 4 time-sheets. I proceed to record a macro, select the first named range, copy and paste into my data sheet, do a control home then control down arrow, then one more down arrow to get to the first blank cell and repeat the process for all four time-sheets.
This works until I add a new line and then the data will only appear for the last time-sheet (last row of data).
I have an excel WS1 set up as DB; I want to keep this sheet for data revision. WS2,3, 4, & 5 will be data that is filtered and sorted, using WS1 as source so I want to auto copy the WS1 data. Can I just auto copy WS1 (how do I do that?) then filter and sort in each WS?
We have folders of daily cash collections stored in such a manner, yearmonth. In every month, we will have worksheets sent by the end user to the finance dept, naming it using mmdd. (The folder in the drive will reads: C:Daily Cash Collection2013), (C:Daily Cash Collection2013 0104.xlxs), (C:Daily Cash Collection2013 0115.xlxs). I intend to put the master list outside the year folder, meaning, in the Daily Cash Collection folder (C:Daily Cash CollectionDCC_2013.xlsm). When I have a new folder for year 2014, my master list will be here (C:Daily Cash CollectionDCC_2014.xlsm)
I am looking to automate this opening of all the daily worksheets, select all data except the header row, and copy it into a master list (which will be data for the whole year, with 3 months of the previous year data).
The data in the daily sheets, it will have collections of the same Debit Note number from the file sent earlier. Meaning, if the file was sent on 0104, there is a DN0114-0002, collection of $50. In another daily sheets 0115, it will also have a collection of DN0114-0002 of $20. This 2nd information of $20 will also need to be captured as the payment in 0301 is partial and incomplete.
I will need to copy the daily sheets into the master list every now and then. Is there a way to check and copy the daily sheets and not repeating it and missed out one?
In another words, if I had already copied Jan sheets into the master list, will it look for the next worksheet that I had not copy and copy according the DN number? (it will be in running number but sometimes will have DN of the previous month due to the partial payment ealier).
Alternatively, if this is too complicated, how to insert a macro to copy all cells except the header (will be in fixed column and the first row will be fixed) from an open daily sheet, find the last row in the master list and copy it to the master list, and after copying, unclear the selection of the daily sheet and close the daily? Where can I put this macro as the daily sheet is from the end user. I can only put it into my master list, but my problem is, the file name of the daily sheet is not fixed, it depends on the day the end user saved and email the data to Finance Dept.
I am trying to create a macro to copy a set of datas in a row , paste into another workbook (specific sheet),then save it as one of the datas that was copied over.
Workbook1
Ticket# Description Name
12345 Test 1 David
32145 Test 2 Steve
Workbook2 - sheet (ABC)
Copy row 2 from Workbook1, paste to row 1 in Workbook2 sheet(ABC)12345 Test 1 David
Saveas Workbook2 - ABC - "12345" - Ticket #
Copy row 3 from Workbook1, paste to row 1 in Workbook2 sheet(ABC)
And so on. I will have a set of data to trasfer to Workbook2, each row different workbook.
I have a excel worksheet with the following columns: First name, Last Name, Email address, domain of email, product type, date registered. The list consists of about 50,000 entries. I want to sort the list by the domain of email(which I am able to do already) Once this is done, I want to find all instances of where a domain appears at least 10 times on the list(such as webmessenger.com appears 40 times, so I want to get that data).
For those instances where the domain appears at least 10 times, I want to pull those rows out of the intial list and put them in a new list(the new list will be sorted by domain and will only have people who have a domain which appears at least 10 times). To make this a bit more clear, The initial list I have is a list of people who registered to use the software my employer makes. We are trying to locate companies which may have many people using our consumer version of the software. When there is a large amount of people in the same organization using our software, it would benefit them to upgrade to the enterprise version due to enhanced managment features. By running this filter, I can see which companies have at least 10 users registered to use our software. Of course I will remove any Gmail/yahoo mail/msn/hotmail... pretty much any public email domains and just leave the ones that are obviously corporate emails.
So far, I think it probably has to be done with a pivot table... I was able to get a table that tells me how many instances occur from each domain, but I cannot get it to display the actual data(it just says IE. company.com 200, yahoo 120, etc... I need it to show me the 200 rows of company.com emails and extract them to a new sheet so that I can then follow up with company.com and see if they are interested in the corporate version.)
I have been working on a macro that compares a existing list of data to an updated list of data and then either moves any data not on the new list over to a completed tab (followed by deleting the record on the existing sheet), and then adds any items not on the existing sheet, but which appear on the new list, to the existing list.
I have come across a stumbling block, i have managed to identify on the existing list the rows of data that have been removed from the new list and therefore need to be moved over to the completed tab, but when i select the data it selects the header row aswell (which will always remain the same row). Obviously this then pastes the header row aswell, and also i can't seem to get it to paste in the new sheet to the next available row (i.e this will be used daily and i don't won't to overwrite the infor already in the completed tab). the next issue i have is then when i go back to existing sheet to delete the data i just copied across, as the header was initially select this also gets deleted.
The code below, is the complete code, including filtering, copying some forumals etc. The area i am getting stuck on is highlighted in red:
Sub Update() Dim bottomrow As Long Dim My_Range As Range bottomrow = Cells(Rows.Count, "C").End(xlUp).Row Set My_Range = Range("A1:Y" & bottomrow)
I have a time card report which will record the time spent on work for each employee. Each month, i have to generate the time card report and copy the data to my master file. Is there any code that can auto copy the time card entry directly to the master file? I only need some of the entry on the time card report, some of the column can be ignored.
I was thinking of creating a macro that will prompt me to choose the file to import as there are different file for different individual. Attach here with the master list (Demo.xls) & the time card for one individual (Nov-KTTHAM.xls) for reference.
I want to copy the data on column B of the time card to the column A of the master list, column C to column B, column D to column C, column E to column D, column F to column E and column G to column G.
Sheet1 - TeamList - Column A is a list of all the team leaders which is used to create a new worksheet for every team. Col B is blank. Column C, D, E are the team lists where teams can consist of anywhere from 10-25 employees.
For example Column A Column B Column C Column D Column E
Team Leaders
Team Leader Employee Pin
TL 1
TL 1 Emp 1 10001
[Code] ......
Sheet2 "RawHours" A raw data sheet that contains employee hours information
For Example Employee # PIN NAME Reg OT TRN Stat Sick Vac Berv
2000100 10001 Emp 1 24.00 0.00
[Code] .......
Sheet3 - Template
Basically what I want to be able to do is create a sheet for every team leader and copy and paste there team into the appropriate sheet.
I have the sheet create done by simply copying the template and renaming each sheet using the Team Leaders list from column A from the TeamList sheet. And then I copy the page setup information using the template as well but when it comes to pulling over the appropriate team members in to the appropriate sheet I can not seem to wrap my head around it.
Below is the current code I am using:
Code: Option Explicit Sub CreateSheet() Dim LR, i As Long Dim shCount As Integer Dim Sh As Worksheet Dim Cell As Range Dim CpySht As PageSetup
Got an issue that I can only seem to do with things like the program Hotkey and making physical macros. I'm sure it is easy but I'm lost.
I have data in one book that looks like this (Call it Book1)
Date: Service ProviderReason for callCRM SR #DM SR #WO #Device #Serial #Issue15/02/2010DATE: 03/02/10 TIME: 11:29 BUS: 1234AO ISSUE DETAILS: Issue with Console
and data in another book that looks like this (Call it Book2)
DeviceSerial NumberNameTerminal PositionTerminal Group Location DescriptionTerminal IDDescription Service Provider 104012343030123456ConsoleDriver Console1234AO90401234Service Provider Name found Here
I need to find the BUS: 1234AO from the cell in Book1 then look that Bus up in Book2 and then from Book2 copy the Device, Serial Number, and Service Provider into the cells into Book1 and repeat this infintely often. The problem I have is the the bus can have 1 Console and 1-5 Readers and I need to find that data also. So for example I need to find BUS 1234AO and get the Console details and past that into one issue and the next issue will have the same bus number 1234AO but I need the details for Reader2 (that detail is in the Name field as shown above.) The issue details will always have the Console text and Reader# text in it.
The problem I have is that the Reason for call cell has ALT-ENTER characters in it and the details are not always in the same spot but the details are almost always in the format ####AO (four numbers and the letters AO)
look for a certain value in worksheet A and copy that row of data to Worksheet B.
However, it seems to be only copying the row in worksheet A and pasting it. Is there something that a noob VBA scripter has missed out?
PHP Private Sub GetInfo_Click() Dim r As Long, LastRow As Long, Status As Integer Dim Message As String, Title As String, Default As String, MyValue As String Application.ScreenUpdating = False
MyValue = Range("A4").Value Workbooks("invoice.xls").Worksheets("A").Activate LastRow = Range("C65536").End(xlUp).Row For r = LastRow To 1 Step -1 If Cells(r, 1).Value = MyValue Then Rows(r).EntireRow.Copy Workbooks("invoice.xls").Worksheets("B").Activate Rows("8").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Status = 1 Workbooks("invoice.xls").Worksheets("A").Activate Rows(r).EntireRow.Delete
Exit For End If Next r Application.ScreenUpdating = True
I have a main "ControlSheet" with a list of client and info in Columns A,B,C and E
In Column D of this "ControlSheet" I enter the Staff member who the client has been allocated to (e.g "Staff1")
A B C D E
1 Ref Data1 Data2 Staff Date Client Allocated
2 102 1000 10001 Staff1 01.06.2013
Each staff member (there are 7) has their own tab set up (e.g Staff1, Staff2, Staff3 etc)What I would like to achieve is when I choose the relevant staff member in column D of the "ControlSheet" (Lets say D2) I would like the Data from A2,B2,C2 and E2 of the "ControlSheet" to be copied to the next available/empty row of the Staff members own tab.
So in this example (above) A2-E2 would be copied to the "Staff1" tab as that is the staff member chosen If I was subsequently to change the Staff member chosen on the control sheet from say "Staff1" to "Staff2" I would then like the Data or Row to be removed from the "Staff1" Tab and added to the next row of "Staff2" Tab.
I would need Excel to compare rows between two worksheets (A & B), and if there are any:
(1) new rows in A, to copy across the new rows onto B.
(2) updated rows in A, to copy the updated data onto B replacing existing B values.
This in itself would be simple. Only thing is, worksheet B would be subtotaled and sorted by the subtotal and this is something I wonder if Excel can cope with. BTW I wouldnt mind it if subtotals in B has to be undone before the data gets updated, so long if Macro automates it for me. Is this possible or am I asking for too much? A representative excel file is as attached.
I have used this code below which copies a range of data from one workbook to another, which works fine. I want to take this to another level. How can I copy data from a workbook to another workbook, but not knowing where the last row is