AutoFill down a certain number of rows

S

Simon

What code is there to specifically filldown a certain (or varied
number of rows)?

I create a Pivot Table of data and refresh this each month, I wish to
take the number of rows found within the Pivot Table and using that
count, fill down onto the bottom of a list of numbers in another
colum.

So presume the Pivot table is in columns F and G.

I have data in columns A and B and wish to add onto the bottom of both
of these columns a bunch of 9's (for Navision). The amount of rows I
need to have as 9s is the same as the number in the Pivot Table.

How do I do it? I have the following code already:

Dim StartCell, EndCell As Range
Set StartCell = Range("G4") 'Pivot
Set EndCell = Cells(Rows.Count, "G").End(xlUp).Offset(-1, 0) 'End of
Pivot excluding Grand Total
Range(StartCell9, EndCell9).Copy

I wish to now add the count of this range onto the bottom of cols A
and B. I thought of using E.g. Range("A50000").End.(xlUp)

then somehow using Selection.FillDown (having inserted 99999999).

Thanks for your help
 
M

Mike H

Simon

This all gets very confusing from when you get to this line
Range(StartCell9, EndCell9).Copy
Where did the 9 come from?

Have a look at my code and see where that gets us

Dim StartCell, EndCell As Range
Set StartCell = Range("G4")
Set EndCell = Range("G" & Cells(Cells.Rows.Count, "G").End(xlUp).Row)
Range("A" & Cells(Cells.Rows.Count, "A").End(xlUp).Row + 1) _
= Range(StartCell, EndCell).Rows.Count

Mike
 
M

Matthew Herbert

Simon,

You are pretty much there with your code. As a side note, your StartCell
carries a Variant data type and not a Range data type. See the code below,
which adds onto what you provided.

Dim StartCell As Range
Dim EndCell As Range
Dim lngPvtCnt As Long
Dim rngNines As Range

Set StartCell = Range("G4")
Set EndCell = Cells(Rows.Count, "G").End(xlUp).Offset(-1, 0)

'count of the cells in the pivot table
lngPvtCnt = Range(StartCell, EndCell).Count
'last cell in column A
Set rngNines = Range("A" & Rows.Count).End(xlUp)
With rngNines
'fill the range with "9"
Range(.Offset(1, 0), .Offset(lngPvtCnt, 0)).Value = "9"
End With
 
S

Simon

Simon,

You are pretty much there with your code.  As a side note, your StartCell
carries a Variant data type and not a Range data type.  See the code below,
which adds onto what you provided.

Dim StartCell As Range
Dim EndCell As Range
Dim lngPvtCnt As Long
Dim rngNines As Range

Set StartCell = Range("G4")
Set EndCell = Cells(Rows.Count, "G").End(xlUp).Offset(-1, 0)

'count of the cells in the pivot table
lngPvtCnt = Range(StartCell, EndCell).Count
'last cell in column A
Set rngNines = Range("A" & Rows.Count).End(xlUp)
With rngNines
    'fill the range with "9"
    Range(.Offset(1, 0), .Offset(lngPvtCnt, 0)).Value = "9"
End With













- Show quoted text -

Thanks Matt, this is what I am after, I would have produced what you
wrote, I thought there may be an easier way but your way does it :)
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top