Alternate to loop and copy formulas

JackDanIce

Well-known Member
Joined
Feb 3, 2010
Messages
9,673
Office Version
365
Platform
Windows
Hi,

I have a header row with a mixture of constants and formulas; using cell formatting to mask formulae (Formula bar visible). This row is 228 columns wide, and has a fixed pattern of 3 columns with formula, 16 columns constant values x 12

The whole header range is named: Main_Formula

I use following to copy formula and apply to rows below but it is slow:
Code:
Sub Apply_Formulas(byref LR as Long)

Dim r as Range
Dim rng as Range: set rng = Range("Main_Formula").Specialcells(xlcelltypeFormulas)

With Application
  .ScreenUpdating = False
  .CalculationMode = xlCalculationManual
End With

For Each r in Rng
  r.Copy
  r.Offset(1).Resize(LR - 1).PasteSpecial xlPasteFormulas
Next r

With Application
  .CutCopyMode = False
  .ScreenUpdating = False
  .CalculationMode = xlCalculationManual
End With

Set rng = Nothing

End Sub
I tried something like:
[/code]
With rng
.Copy
.Resize(LR).PasteSpecial xlPasteFormulas
End With
[/code]
But this gave run time 1004 error, suggesting I'm not defining the paste range correctly?


Any suggestions for faster code?

TIA,
Jack
 

Some videos you may like

Excel Facts

Can you AutoAverage in Excel?
There is a drop-down next to the AutoSum symbol. Open the drop-down to choose AVERAGE, COUNT, MAX, or MIN

Fluff

MrExcel MVP, Moderator
Joined
Jun 12, 2014
Messages
42,378
Office Version
365
Platform
Windows
You cannot resize non-contiguous ranges. Try
Code:
For Each r In Rng
  r.Resize(Lr).FillDown
Next r
 

JackDanIce

Well-known Member
Joined
Feb 3, 2010
Messages
9,673
Office Version
365
Platform
Windows
Suspected so, thanks for confirming @Fluff and your suggestion is a little faster than what I had.
 
Last edited:

Fluff

MrExcel MVP, Moderator
Joined
Jun 12, 2014
Messages
42,378
Office Version
365
Platform
Windows
You're welcome & thanks for the feedback
 

Watch MrExcel Video

Forum statistics

Threads
1,101,851
Messages
5,483,322
Members
407,393
Latest member
GeorgeBrown

This Week's Hot Topics

  • Finding issue in If elseif else with For each Loop
    Finding issue in If elseif else with For each Loop I have tried this below code but i'm getting in Y column filled with W005. Colud you please...
  • MsgBox Error
    Hi Guys, I have the below error show up when i try and run my macro in File1 but works fine if i copy and paste the same code into file2. [ATTACH...
  • CELL FORMAT - IF CONDITION
    My Cell Format is [B]""0.00" Cr". [/B]But in the cell, it is showing 123.00 for editing. (123 is entry figure). (Data imported from other...
  • Show numbers nearly the same
    Is this possible. I have a number that can change very time eg 0.00001234 Then I have a lot of numbers 0.0000001, 0.0000002, 0.00000004...
  • Please i need your help to create formula
    I need a formula in cell B8 to do this >>if b1=1 then multiply ( cell b8) by 10% ,if b1=2 multiply by 20%,if=3 multiply by 30%. Thank you in...
  • Got error while adding column and filter
    Got error while adding column and filter In column Z has some like "Success" and "Error". I want to add column in AA if the Z cell value is...
Top