• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 352
  • Last Modified:

Copy Formula to last row

I continually have problems with copying a formula down to last empty row.  This is what I have but it does not copy down. I would appreciates someone helping me.  Would look at C7 and count used rows.


 Sheets("Block").Select
   
   Range("K7").FormulaR1C1 = "= ""#RET"""
    Range("K7").Select
    Selection.Copy
    Range("K7").Select
    Selection.End(xlDown).Select
0
leezac
Asked:
leezac
  • 4
  • 3
  • 2
1 Solution
 
NorieVBA ExpertCommented:
If you want to copy the formula down from row 7 in column K down based on the populated rows in column C try this.
With Sheets("Block")
    .Range("K7", Range("C" & Rows.Count).End(xlUp).Offset(, 8)).FormulaR1C1 = "= ""#RET"""
End With

Open in new window

0
 
Harry LeeCommented:
Well, I have no idea what does imnorie's code do.

but

This would work.

Sub pasteformula()
Dim RwCnt As Long
RwCnt = Cells(Rows.Count, 3).End(xlUp).Row
If RwCnt < 7 Then
    MsgBox ("No Data Found!")
    Exit Sub
End If
With Sheets("Block")
    .Range("K7:K" & RwCnt).FormulaR1C1 = "= ""#RET"""
End With
End Sub

Open in new window

0
 
NorieVBA ExpertCommented:
Harry

Do you know what the code I posted will do?
0
Cloud Class® Course: Microsoft Azure 2017

Azure has a changed a lot since it was originally introduce by adding new services and features. Do you know everything you need to about Azure? This course will teach you about the Azure App Service, monitoring and application insights, DevOps, and Team Services.

 
Harry LeeCommented:
imnorie,

Looks like pretty much doing the same thing.

The way you do it is instead of using 1 part range like A1:A5, you are using 2 parts range Range(Cell1, cell2).
While Cell1 = K7, and Cell2 is C& row count, but offset to column K.
So basically the range is K7 to K whatever row count of column c.
Well, and the rest, the formula part is simple, isn't it?
0
 
NorieVBA ExpertCommented:
Harry

They are similar but the code I posted uses the sheet 'Block' to find the last row of data in column C.

Your code will use the active sheet for the last row.

If the sheet 'Block' is active that's fine but if it isn't there could be some unexpected results.
0
 
Harry LeeCommented:
You can change the macro this way.

Sub pasteformula()
Dim RwCnt As Long, WS As WorkSheet
Set WS = Sheets("Block")
RwCnt = WS.Cells(Rows.Count, 3).End(xlUp).Row
If RwCnt < 7 Then
    MsgBox ("No Data Found!")
    Exit Sub
End If
    WS.Range("K7:K" & RwCnt).FormulaR1C1 = "= ""#RET"""
End With
End Sub
0
 
leezacAuthor Commented:
The both where similar but Harry's worked best for what I was trying to do.
0
 
leezacAuthor Commented:
OK - thanks
0
 
NorieVBA ExpertCommented:
leezac

How did the code I posted not work?
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

  • 4
  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now