Shortening VBA Code Of Copy / Paste Values With Transpose
Aug 11, 2014
I think I have a very straight forward problem, I'm copying about 400 values from one workbook to another (from vertical range to horizontal range) and I currently have about 400 lines of code in order to do this. Below I've pasted the code I'm using now but the macro takes an estimated 30 seconds to run. I figure if I can reduce the number of lines the macro will run a lot faster
RowCount = openWb.Sheets("Library Raw Shear Rates").Range("A3").CurrentRegion.Rows.Count
With openWb.Sheets("Library Raw Shear Rates").Range("A3")
Is there a s way to simplify this code (and the several more lines of similar) using For..Next and/or With function(s)? I've tried a few combinations but can't quite strike the right one.
I would like to implement specific cell ranges from two specific worksheets each within 33 workbooks (which all have several tabs) into a summary page in a separate workbook.
The cell ranges are going across my spreadsheet in rows and I would like for them to transpose into a columns depending on the data which I have separated by catergory on the summary page. They are all on the same location in each workbook which is separated by country. The cell ranges are E26:P37 and I would like to transpose them and have them put below eachother without overwriting for my format on the summary page, how I can put this together in a macro?
I want to make a macro that I can copy a column of numbers, select a cell... then run the macro - which will transpose them and paste the values.
I've tried to make this by Recorder... but I keep getting an error.
Run-time error 1004 Paste-Special method of Range class failed.
I've seen other people in the past post this questions, but it seems noone has solved it!
Sub Transpose() ' ' Transpose Macro ' Macro recorded 11/03/2009 ' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=True End Sub
see the attached file below. I have monthly precipitation data for yrs 1950-1999. I need to have the data formatted such that the precipitation data is copy/pasted into one single column, going all the way from jan 1950 to feb 1950 (next row) to mar 1950 (next row).....dec 1999 (last row). On occasion, I will also have data for shorter/longer time periods. the macro code I'd need to take this data and line it all up into one single column?
I need to copy and paste transpose, some over 100 values, but I want to add a comma after each value, so they can be put into JD Edwards for running a report.
I have a long column of data in column D (D2 to D8761) and I would like to sequentially select 24 cells at a time (D2:D25, D26:D49, D50:D73...D8738:D8761) copy them and paste them to another sheet as separate rows.
For instance, the selected data from Sheet 1, D2:D25, would be pasted/transposed to Sheet 2 B9:Y9. I would like the macro to loop so it would then select D26:D49 and paste/transpose to B10:Y10 and so on until it finishes transposing the final data group of D8738:D8761.
I'll add the macro that I recorded using the brute force method so perhaps you can have a better understanding of what I am trying to accomplish.
I'm trying to get a macro together that will take a set of workbooks that I've merged (using Ron de Bruin's RDBMerge add-in) and transpose all columns from B to HB into rows. Now, I know that each spreadsheet is 210 columns and 244 rows large and they are concatenated on one another. Attached is a brief example of what I am trying to go from and what I am trying to get to.
I would like to create/use a copy command in the Quick Access Toolbar that combines Paste Values and Transpose into a single command. Have tried recording a macro but it becomes specific to the individual workbook that I'm accessing and it copies the formula from that last cell that I copied from. Problem is that I have 19 workbooks to deal with and would like to save some keystrokes.
I have a long header I am pasting to a column "A" on a new Sheet. When the header pastes it is repeating itself but with long blank spaces in between each repeat. The first time goes from A1 to A152, which is all I want. But it shows up again starting at A180225, and again at A212993, and again and again. I only want a single instance of the header in Column A. Here is the macro I am using:
Sub Sort_Cells() Rows("1:1").Select Selection.Copy Sheets.Add after:=Sheets(Sheets.Count) Sheets("Sheet1").Select Columns("A:A").Select Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ True, Transpose:=True Selection.Columns.AutoFit Range("B1").Select End Sub
I have a combo box that is used very simply to select a column from sheet and copy that whole column down to where text ends into a specific column in another sheet. I.e whatever column is selected ends up in column B of this other sheet. At the moment I've been using If functions for each case but there must be a more efficient way of doing this; here is just a sample of my
If textseries1.Text = "Fund01" Then With Sheets("data") Range("C1:C" & Cells(Rows.Count, 1).End(xlUp).Row).Copy End With Sheets("calculations").Range("B1").PasteSpecial End If
If textseries1.Text = "Fund02" Then With Sheets("data") Range("D1:D" & Cells(Rows.Count, 1).End(xlUp).Row).Copy End With Sheets("calculations").Range("B1").PasteSpecial End If
If textseries1.Text = "Fund03" Then With Sheets("data") Range("E1:E" & Cells(Rows.Count, 1).End(xlUp).Row).Copy End With Sheets("calculations").Range("B1").PasteSpecial End If
There are about 75 columns in total but thought it would be a little repetitive to put it all up here!
I have a file with over 20,000 rows that contain a date (Mon~Sun), What I need to do is remove every day that contains Mon~Sat and only keep Sun, this is the code that I have come up with and is working.
Code: Dim c As Range Dim SrchRng Set SrchRng = ActiveSheet.Range("A1", ActiveSheet.Range("A" & Lastrow).End(xlUp))3
Sheet linked from external file, new data coming daily. How to copy Values of cells from B4 till B-empty to C column? The attached file has a properly displayed data.
Attached is my code, pay attention to the bold part. I want the sourceSheet to be copied as a sheet and pasted in the targetSheet (the Sheet2 of "NewBook") but I want it pasted asvalues. Here is the specific part which needs to be looked at...and below is the full code.
VB: Set sourceBook = Application.Workbooks.Open(sourceFilename) Set sourceSheet = sourceBook.Sheets("Current") Set targetSheet = NewBook.Sheets("Sheet2")
I have two files and need to copy the information from columns B,C,F,H rows 5 true 29, and past it in the other file in Columns B,D,G,J; rows 3 true 35.
The code that I have works fine, but have one problem - it past the info in the rows starting from 37 instead from row 3. Here is where I need your help. The code is triggered when the condition Arr ( arrived) is chosen in the column AH ( file Delivery Status) and then the specific warehouse is chosen in the column AI. To make it easy I have left only one warehouse as a choice.
Attached you can find sample files ( I have delete the info from the heading cells as it was in another lenguage)
I created this spreadsheet a few montsh ago to help with forecasting for my companies products. The tabs of interest are the HIST vs FORECAST, FORECAST TOOLKIT, and the FORECAST TABLE tab – now the FORECAST TABLE tab is always hidden and if you unhide it then it will rehide itself once one of the macro’s is run. I set it that way to prevent people accidently making adjustments to the forecast data.
The way the sheet is supposed to run is that when you are on the hist vs forecast page then you can click one of the grey buttons on the right which will then graph the numbers for the relevant product on the toolkit page – so far so good, this bit all works fine, there are separate macro’s for this each named after the product they control.
Then once you are on the toolkit you can play about with the numbers until you come up with a 6 month forecast you are happy with which will be on the 6 cell line in the bottom right were it says “ IMPORT”. You can then click on the “IMPORT” button which will then copy and paste it back into the forecast table under the relevant setting – the macro for this is called IMPORT2 and it works off a “product” range and a “ date” range – again this pretty much works as intended.
Sub IMPORT2() Dim nDate, nProd With Sheets("Forecast Toolkit") nDate = Application.Match(.Range("O31"), Range("Dates")) + Range("Dates")(1).Row - 1 nProd = Application.Match(.Range("I3"), Range("Products")) + Range("Dates")(1).Column...........................
Normally when a code copies a cell value from Workbook-A, closes Workbook-A and then pastes the value into Workbook-B it works flawlessly. However, i noticed that this doesn't work in all case, for example when a code repeats itself with the "For - Next" function then when the code copies from one workbook to the other it causes an error.
Here is my code and i made the part of the code that is red is where the issue lies.
I used a posted code to copy web query data from sheet2 to sheet1. Then a friend modified the code in order to Copy it to a new row in Sheet1 instead of a new column. The code works perfectly but I really wish that when the data is copied from Sheet2 to Sheet1 it will be only Values in order to keep my formulas and formats.
I read about .PasteSpecial xlPasteValues but I don't seem to find where exactly I should write it within the code.
I have a simple code that opens 2 workbooks and then copies and pastes a cell from one to the other. The cell that's being copied is a formula by the way.
My problem is that the copy and paste keeps returning a "0" value, instead of the correct number. I am thinking it's probably because the file from which it is copied is very large and because the operation barely takes a second, it doesn't allow it enough time for the formula int he cell that is being copied to calculate the value.
I'm using code that SHG provided for me here; http://www.excelforum.com/excel-programming/630464-sheet-macro-for-preventing-paste-not-working.html
It worked great in the first workbook I set up but I just set up a new workbook and it's not doing the same thing. For example, it allows me to copy items from column A which have 1 type of validation (restriction on text) to another column which has a formula validation.
It still won't allow me to paste from outside a validated range to inside but I need to prevent people from screwing up the validation between columns.
I have the following bit of VBA code which copies a particular cell and pastes it in the next available cell in column "AD", but I need to paste it as a value. How do I incorporate this into the code?
Sub copypaste() Worksheets("USD IR Swap 10 Yr").Range("L5").Copy _ Destination:=Worksheets("USD IR Swap 10 Yr").Cells(Worksheets("USD IR Swap 10 Yr") .Rows.Count, "AD").End(xlUp).Offset(1, 0) End Sub
I am looking for VBA code that will select a data validation cell, copy the selection, and paste the value of that cell in a different worksheet.
The data validation list is in cell L47. The user will select a date from cell D31, type a description of activities in the adjacent column and then select initials from the aforementioned validation list in cell L47. I need the code to fit into a button I created so that when they click it to approve the activity, the code will copy the value of the initials and paste it into column AB in a separate worksheet. Column AB runs parallel to column A, which contains all of the dates located on Sheet1 in cell D31. I think I might need some sort of loop to run this so that it pastes initials on the correct date.
I want to automate the transferring of specific pieces of data from one spreadsheet into another spreadsheet. There are many project spreadsheets that all feed into a resource plan spreadsheet showing every employee, what projects each of them are on, and how many hours they are spending on each project for the quarter.
Now what I would like to do is to automate this process of feeding the data from the many project spreadsheets into the resource plan spreadsheet. With transferring the specific data from the one to the other. Basically I need it so that excel looks at the project spreadsheet copies the name of the employee and the hours they have worked each week for the quarter and paste It into the big resource plan. What I am finding tricky is knowing how to make it automatically paste into the right area as in copy an employee and paste the details in the same employees cells in the other spreadsheet.