ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Fill function to next cells (https://www.excelbanter.com/excel-programming/393588-fill-function-next-cells.html)

Carl

Fill function to next cells
 
I have a macro that requires functions in the adjacent cells filled right
every month. So for example cells A10 to A15 need to be copied to cells B10
to B15 this month. But next month the cells from B10 to B15 will need to be
copied to cells C10 to C15. So what I want to do is find the correct cell
and then:

ActiveCell.Select
Selection.Resize(5, 1).Select

But then how do I fill these selected cells right?

Help will be much appreciated.

joel

Fill function to next cells
 
Carl: I think this is what you need

Sub test()

LastCol = Cells(10, Columns.Count).End(xlToLeft).Column
Set copyrange = Range(Cells(10, LastCol), Cells(20, LastCol))
copyrange.Copy Destination:=copyrange.Offset(0, 1)

End Sub

"carl" wrote:

I have a macro that requires functions in the adjacent cells filled right
every month. So for example cells A10 to A15 need to be copied to cells B10
to B15 this month. But next month the cells from B10 to B15 will need to be
copied to cells C10 to C15. So what I want to do is find the correct cell
and then:

ActiveCell.Select
Selection.Resize(5, 1).Select

But then how do I fill these selected cells right?

Help will be much appreciated.


Carl

Fill function to next cells
 
Hi Joel,

Thanks for the help but the column that I need to fill isn't actually the
last column. It's the second last. So the macro is already set up to insert
a new column in between the last two columns and then I need to fill it with
the same functions as the one to the left.

Thanks

Carl

"Joel" wrote:

Carl: I think this is what you need

Sub test()

LastCol = Cells(10, Columns.Count).End(xlToLeft).Column
Set copyrange = Range(Cells(10, LastCol), Cells(20, LastCol))
copyrange.Copy Destination:=copyrange.Offset(0, 1)

End Sub


joel

Fill function to next cells
 
Is this better

Sub test()

LastCol = Cells(10, Columns.Count).End(xlToLeft).Column
Set copyrange = Range(Cells(10, LastCol - 1), Cells(20, LastCol - 1))
copyrange.Copy
copyrange.Offset(0, 1).Insert Shift:=xlToRight

End Sub


"carl" wrote:

Hi Joel,

Thanks for the help but the column that I need to fill isn't actually the
last column. It's the second last. So the macro is already set up to insert
a new column in between the last two columns and then I need to fill it with
the same functions as the one to the left.

Thanks

Carl

"Joel" wrote:

Carl: I think this is what you need

Sub test()

LastCol = Cells(10, Columns.Count).End(xlToLeft).Column
Set copyrange = Range(Cells(10, LastCol), Cells(20, LastCol))
copyrange.Copy Destination:=copyrange.Offset(0, 1)

End Sub


Carl

Fill function to next cells
 
Hi Joel,

Thanks again for that. That's pretty much it. But I don't need a column
inserted because I've already done that. I just need the cells functions
copied in to the cells to the right. So that's probably a cross between the
first and second answers that you gave me. I'm close to knowing all of this
myself but haven't quite got there yet. You are helping loads though.

Thanks

Carl

"Joel" wrote:

Is this better

Sub test()

LastCol = Cells(10, Columns.Count).End(xlToLeft).Column
Set copyrange = Range(Cells(10, LastCol - 1), Cells(20, LastCol - 1))
copyrange.Copy
copyrange.Offset(0, 1).Insert Shift:=xlToRight

End Sub



joel

Fill function to next cells
 

Sub test()

LastCol = Cells(10, Columns.Count).End(xlToLeft).Column
Set copyrange = Range(Cells(10, LastCol - 1), Cells(20, LastCol - 1))
copyrange.Copy Destination:=copyrange.Offset(0, 1)

End Sub

"carl" wrote:

Hi Joel,

Thanks again for that. That's pretty much it. But I don't need a column
inserted because I've already done that. I just need the cells functions
copied in to the cells to the right. So that's probably a cross between the
first and second answers that you gave me. I'm close to knowing all of this
myself but haven't quite got there yet. You are helping loads though.

Thanks

Carl

"Joel" wrote:

Is this better

Sub test()

LastCol = Cells(10, Columns.Count).End(xlToLeft).Column
Set copyrange = Range(Cells(10, LastCol - 1), Cells(20, LastCol - 1))
copyrange.Copy
copyrange.Offset(0, 1).Insert Shift:=xlToRight

End Sub



Carl

Fill function to next cells
 
Thanks Joel,

Managed to work out how to simplify it slightly to better suit my
spreadsheet. I used this in the end:

Selection.Resize(6, 1).Select
Selection.Copy Destination:=Selection.Offset(0, 1)

Would not have been able to do it without you though so thanks a lot!

"Joel" wrote:


Sub test()

LastCol = Cells(10, Columns.Count).End(xlToLeft).Column
Set copyrange = Range(Cells(10, LastCol - 1), Cells(20, LastCol - 1))
copyrange.Copy Destination:=copyrange.Offset(0, 1)

End Sub

"carl" wrote:

Hi Joel,

Thanks again for that. That's pretty much it. But I don't need a column
inserted because I've already done that. I just need the cells functions
copied in to the cells to the right. So that's probably a cross between the
first and second answers that you gave me. I'm close to knowing all of this
myself but haven't quite got there yet. You are helping loads though.

Thanks

Carl

"Joel" wrote:

Is this better

Sub test()

LastCol = Cells(10, Columns.Count).End(xlToLeft).Column
Set copyrange = Range(Cells(10, LastCol - 1), Cells(20, LastCol - 1))
copyrange.Copy
copyrange.Offset(0, 1).Insert Shift:=xlToRight

End Sub



joel

Fill function to next cells
 
Your code you have to select a cell, mine does it automatically.

When I write macros, I try to make them idiot proof and live little for
mistakes. I usually try to avoid using selected cells unless it is necessary.

"carl" wrote:

Thanks Joel,

Managed to work out how to simplify it slightly to better suit my
spreadsheet. I used this in the end:

Selection.Resize(6, 1).Select
Selection.Copy Destination:=Selection.Offset(0, 1)

Would not have been able to do it without you though so thanks a lot!

"Joel" wrote:


Sub test()

LastCol = Cells(10, Columns.Count).End(xlToLeft).Column
Set copyrange = Range(Cells(10, LastCol - 1), Cells(20, LastCol - 1))
copyrange.Copy Destination:=copyrange.Offset(0, 1)

End Sub

"carl" wrote:

Hi Joel,

Thanks again for that. That's pretty much it. But I don't need a column
inserted because I've already done that. I just need the cells functions
copied in to the cells to the right. So that's probably a cross between the
first and second answers that you gave me. I'm close to knowing all of this
myself but haven't quite got there yet. You are helping loads though.

Thanks

Carl

"Joel" wrote:

Is this better

Sub test()

LastCol = Cells(10, Columns.Count).End(xlToLeft).Column
Set copyrange = Range(Cells(10, LastCol - 1), Cells(20, LastCol - 1))
copyrange.Copy
copyrange.Offset(0, 1).Insert Shift:=xlToRight

End Sub



All times are GMT +1. The time now is 07:17 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
ExcelBanter.com