Reputation: 193
I'm looking for VBA code that will autofill data down according to the length of an adjacent column. I know there are a few ways to go about this, but which is best?:
If LastRow > Selection.Row Then
Range("D2").AutoFill Destination:=Range("D2:D" & LastRow)
or something like:
If Not IsEmpty(ActiveCell.Offset(0,1)) Then
Range("D2").AutoFill Destination:=Range("D2:D" & LastRow)
I'm pretty sure neither of these work exactly how I want it so what am I missing?
Upvotes: 18
Views: 104314
Reputation: 12353
There is no need for any if condition. We can get the last used row of column C and fill the data in column D accordingly.
Sub test()
Dim lastRow As Long
lastRow = Range("C" & Rows.Count).End(xlUp).Row
Range("D2").AutoFill Destination:=Range("D2:D" & lastRow)
End Sub
Upvotes: 27