Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Hi!
I try to copy and paste a range and it's very long since there's a lot of formula inside. Is there a way to improve the speed. I'm in manual calculation. Thanks! Alex time1 = Timer a = Sheets("CALCULATIONS").Cells(5, 3) * 20 + 5 Sheets("PROJ RESULTS STOCHASTIC").Select Range("C6:C25").Select Range(Selection, Selection.End(xlToRight)).Select Selection.Copy Range("C26:C" & a).Select ActiveSheet.Paste Sheets("PROJ RESULTS STOCHASTIC").Calculate Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False MsgBox (Timer - time1) 'Takes 600 sec. -- Alex St-Pierre |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Try using
activesheet.calculation = false (at beginning) activesheet.calculation = true (at end) or application.screenupdating = false (at beginning) application.screenupdating = true (at end) Or both. "Alex St-Pierre" wrote: Hi! I try to copy and paste a range and it's very long since there's a lot of formula inside. Is there a way to improve the speed. I'm in manual calculation. Thanks! Alex time1 = Timer a = Sheets("CALCULATIONS").Cells(5, 3) * 20 + 5 Sheets("PROJ RESULTS STOCHASTIC").Select Range("C6:C25").Select Range(Selection, Selection.End(xlToRight)).Select Selection.Copy Range("C26:C" & a).Select ActiveSheet.Paste Sheets("PROJ RESULTS STOCHASTIC").Calculate Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False MsgBox (Timer - time1) 'Takes 600 sec. -- Alex St-Pierre |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I'm a bit confused as to why you first paste the range to the same sheet and
then paste the values to another. This idea is very fast. It is a one liner that uses NO selections and can be fired from anywhere in the wb. Notice that the ranges must be the same size. sheets("destination").range("a12:x16").value = sheets("source").range("a2:x6").value or this idea. Modify to suit. lc=sheets("source").range("a2").end(xltoright).col umn lr=sheets("source").range("a2").end(xldown).row sheets("destination").range(cells(lr+10,"a"),cell( lr+10,lc)).value = _ sheets("source").range(cells(lr,"a"),cell(lr,lc)). value -- Don Guillett SalesAid Software "Alex St-Pierre" wrote in message ... Hi! I try to copy and paste a range and it's very long since there's a lot of formula inside. Is there a way to improve the speed. I'm in manual calculation. Thanks! Alex time1 = Timer a = Sheets("CALCULATIONS").Cells(5, 3) * 20 + 5 Sheets("PROJ RESULTS STOCHASTIC").Select Range("C6:C25").Select Range(Selection, Selection.End(xlToRight)).Select Selection.Copy Range("C26:C" & a).Select ActiveSheet.Paste Sheets("PROJ RESULTS STOCHASTIC").Calculate Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False MsgBox (Timer - time1) 'Takes 600 sec. -- Alex St-Pierre |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Improve speed of saving a large Excel file | Excel Discussion (Misc queries) | |||
Improve Speed by desabling Automatic Calculation | Excel Programming | |||
Using an Array instead of a Vlookup to improve speed | Excel Programming | |||
How can I Improve query speed? | Excel Programming | |||
Howto Improve speed? | Excel Programming |