ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Replace number in formula with ROW number (https://www.excelbanter.com/excel-programming/425907-replace-number-formula-row-number.html)

MikeF[_2_]

Replace number in formula with ROW number
 


My routine "lands" on cell m1000, and there is a row formula in it that
contains cell m$6.

Using find-and-replace, would like to change the 6 to row 998.
To be specific, it should be absolute two rows above wherever the routine
"lands" my active cell.

Examples:

Lands on cell 200, $6 should change to $198.
Lands on cell 10020, $6 should change to $10018.
Lands on cell 1744, $6 should change to $1742.
**** Lands on cell 1746, $6 should change to $1744.
**** Lands on cell 808, $6 should change to $806.
.... And so on.

Any assistance will be greatly appreciated.
Regards,
- Mike

ps: Bernie MVP, if you're reading this, it could be the solution. Thanx!

Jacob Skaria

Replace number in formula with ROW number
 
Please paste the formula

If this post helps click Yes
--------------
Jacob Skaria


"MikeF" wrote:



My routine "lands" on cell m1000, and there is a row formula in it that
contains cell m$6.

Using find-and-replace, would like to change the 6 to row 998.
To be specific, it should be absolute two rows above wherever the routine
"lands" my active cell.

Examples:

Lands on cell 200, $6 should change to $198.
Lands on cell 10020, $6 should change to $10018.
Lands on cell 1744, $6 should change to $1742.
**** Lands on cell 1746, $6 should change to $1744.
**** Lands on cell 808, $6 should change to $806.
... And so on.

Any assistance will be greatly appreciated.
Regards,
- Mike

ps: Bernie MVP, if you're reading this, it could be the solution. Thanx!


MikeF[_2_]

Replace number in formula with ROW number
 
Ok, here it is....

=SUMIFS($Z8:$AS8,INDIRECT("$Z"&ROW(OFFSET(M8,ROW($ M$6)-ROW(M8),0))&":"&"$AS"&ROW(OFFSET(M8,ROW(M$6)-ROW(M8),0))),"k")

There are 2 instances of ROW(m$6).
The "$6" needs to change to 2 rows above whatever cell ROW(m8) becomes, as
per the examples below.

Thanx,
- Mike



"Jacob Skaria" wrote:

Please paste the formula

If this post helps click Yes
--------------
Jacob Skaria


"MikeF" wrote:



My routine "lands" on cell m1000, and there is a row formula in it that
contains cell m$6.

Using find-and-replace, would like to change the 6 to row 998.
To be specific, it should be absolute two rows above wherever the routine
"lands" my active cell.

Examples:

Lands on cell 200, $6 should change to $198.
Lands on cell 10020, $6 should change to $10018.
Lands on cell 1744, $6 should change to $1742.
**** Lands on cell 1746, $6 should change to $1744.
**** Lands on cell 808, $6 should change to $806.
... And so on.

Any assistance will be greatly appreciated.
Regards,
- Mike

ps: Bernie MVP, if you're reading this, it could be the solution. Thanx!


Jacob Skaria

Replace number in formula with ROW number
 
=SUMIFS($Z8:$AS8,INDIRECT("$Z"&ROW(OFFSET(M8,ROW($ M6)-ROW(M8),0))&":"&"$AS"&ROW(OFFSET(M8,ROW(M6)-ROW(M8),0))),"k")

Copy the formula to the same cell from where you copied the below..

If this post helps click Yes
--------------
Jacob Skaria


"MikeF" wrote:

Ok, here it is....

=SUMIFS($Z8:$AS8,INDIRECT("$Z"&ROW(OFFSET(M8,ROW($ M$6)-ROW(M8),0))&":"&"$AS"&ROW(OFFSET(M8,ROW(M$6)-ROW(M8),0))),"k")

There are 2 instances of ROW(m$6).
The "$6" needs to change to 2 rows above whatever cell ROW(m8) becomes, as
per the examples below.

Thanx,
- Mike



"Jacob Skaria" wrote:

Please paste the formula

If this post helps click Yes
--------------
Jacob Skaria


"MikeF" wrote:



My routine "lands" on cell m1000, and there is a row formula in it that
contains cell m$6.

Using find-and-replace, would like to change the 6 to row 998.
To be specific, it should be absolute two rows above wherever the routine
"lands" my active cell.

Examples:

Lands on cell 200, $6 should change to $198.
Lands on cell 10020, $6 should change to $10018.
Lands on cell 1744, $6 should change to $1742.
**** Lands on cell 1746, $6 should change to $1744.
**** Lands on cell 808, $6 should change to $806.
... And so on.

Any assistance will be greatly appreciated.
Regards,
- Mike

ps: Bernie MVP, if you're reading this, it could be the solution. Thanx!


MikeF[_2_]

Replace number in formula with ROW number
 
Jacob, thank you, but this will not work.

There is *much* more going on.

the $6 needs to be *absolutely* 2 rows above the *first* cell in multiple
groups of 202 rows.
So the formula in row 9 *still* needs to refer to row(m$6), as do the
formulas in rows 10 thru 210.
Then the formula in row 213 needs to refer to row(m$211), as do the formulas
in rows 214 thru 415.
And so on ....

That's why it seems that a replace $6 with *whatever* row is 2 rows above
the first row in the group seems to be the answer.

It's a TRICKY one!!

Thanx again for any assistance you can provide.
- Mike


"Jacob Skaria" wrote:

=SUMIFS($Z8:$AS8,INDIRECT("$Z"&ROW(OFFSET(M8,ROW($ M6)-ROW(M8),0))&":"&"$AS"&ROW(OFFSET(M8,ROW(M6)-ROW(M8),0))),"k")

Copy the formula to the same cell from where you copied the below..

If this post helps click Yes
--------------
Jacob Skaria


"MikeF" wrote:

Ok, here it is....

=SUMIFS($Z8:$AS8,INDIRECT("$Z"&ROW(OFFSET(M8,ROW($ M$6)-ROW(M8),0))&":"&"$AS"&ROW(OFFSET(M8,ROW(M$6)-ROW(M8),0))),"k")

There are 2 instances of ROW(m$6).
The "$6" needs to change to 2 rows above whatever cell ROW(m8) becomes, as
per the examples below.

Thanx,
- Mike



"Jacob Skaria" wrote:

Please paste the formula

If this post helps click Yes
--------------
Jacob Skaria


"MikeF" wrote:



My routine "lands" on cell m1000, and there is a row formula in it that
contains cell m$6.

Using find-and-replace, would like to change the 6 to row 998.
To be specific, it should be absolute two rows above wherever the routine
"lands" my active cell.

Examples:

Lands on cell 200, $6 should change to $198.
Lands on cell 10020, $6 should change to $10018.
Lands on cell 1744, $6 should change to $1742.
**** Lands on cell 1746, $6 should change to $1744.
**** Lands on cell 808, $6 should change to $806.
... And so on.

Any assistance will be greatly appreciated.
Regards,
- Mike

ps: Bernie MVP, if you're reading this, it could be the solution. Thanx!


Sheeloo[_4_]

Replace number in formula with ROW number
 
Hello Mike,

Try the macro below.. You can adapt it to your need...

Sub rowMinusTwo()
Dim currentRow As Variant
With ActiveCell
currentRow = Split(.Address, "$")
currentRow(2) = currentRow(2) - 2
.Formula = WorksheetFunction.Substitute(.Formula, "$6", "$" & currentRow(2))
MsgBox ActiveCell.Formula
End With
End Sub

"MikeF" wrote:

Jacob, thank you, but this will not work.

There is *much* more going on.

the $6 needs to be *absolutely* 2 rows above the *first* cell in multiple
groups of 202 rows.
So the formula in row 9 *still* needs to refer to row(m$6), as do the
formulas in rows 10 thru 210.
Then the formula in row 213 needs to refer to row(m$211), as do the formulas
in rows 214 thru 415.
And so on ....

That's why it seems that a replace $6 with *whatever* row is 2 rows above
the first row in the group seems to be the answer.

It's a TRICKY one!!

Thanx again for any assistance you can provide.
- Mike


"Jacob Skaria" wrote:

=SUMIFS($Z8:$AS8,INDIRECT("$Z"&ROW(OFFSET(M8,ROW($ M6)-ROW(M8),0))&":"&"$AS"&ROW(OFFSET(M8,ROW(M6)-ROW(M8),0))),"k")

Copy the formula to the same cell from where you copied the below..

If this post helps click Yes
--------------
Jacob Skaria


"MikeF" wrote:

Ok, here it is....

=SUMIFS($Z8:$AS8,INDIRECT("$Z"&ROW(OFFSET(M8,ROW($ M$6)-ROW(M8),0))&":"&"$AS"&ROW(OFFSET(M8,ROW(M$6)-ROW(M8),0))),"k")

There are 2 instances of ROW(m$6).
The "$6" needs to change to 2 rows above whatever cell ROW(m8) becomes, as
per the examples below.

Thanx,
- Mike



"Jacob Skaria" wrote:

Please paste the formula

If this post helps click Yes
--------------
Jacob Skaria


"MikeF" wrote:



My routine "lands" on cell m1000, and there is a row formula in it that
contains cell m$6.

Using find-and-replace, would like to change the 6 to row 998.
To be specific, it should be absolute two rows above wherever the routine
"lands" my active cell.

Examples:

Lands on cell 200, $6 should change to $198.
Lands on cell 10020, $6 should change to $10018.
Lands on cell 1744, $6 should change to $1742.
**** Lands on cell 1746, $6 should change to $1744.
**** Lands on cell 808, $6 should change to $806.
... And so on.

Any assistance will be greatly appreciated.
Regards,
- Mike

ps: Bernie MVP, if you're reading this, it could be the solution. Thanx!


MikeF[_2_]

Replace number in formula with ROW number
 
Sheeloo ... woo-HOO!
I *think* you've nailed it.
Works in a few test examples, let me incorporate it into the real deal and
will let you know.
THANK you!!
- Mike

"Sheeloo" wrote:

Hello Mike,

Try the macro below.. You can adapt it to your need...

Sub rowMinusTwo()
Dim currentRow As Variant
With ActiveCell
currentRow = Split(.Address, "$")
currentRow(2) = currentRow(2) - 2
.Formula = WorksheetFunction.Substitute(.Formula, "$6", "$" & currentRow(2))
MsgBox ActiveCell.Formula
End With
End Sub

"MikeF" wrote:

Jacob, thank you, but this will not work.

There is *much* more going on.

the $6 needs to be *absolutely* 2 rows above the *first* cell in multiple
groups of 202 rows.
So the formula in row 9 *still* needs to refer to row(m$6), as do the
formulas in rows 10 thru 210.
Then the formula in row 213 needs to refer to row(m$211), as do the formulas
in rows 214 thru 415.
And so on ....

That's why it seems that a replace $6 with *whatever* row is 2 rows above
the first row in the group seems to be the answer.

It's a TRICKY one!!

Thanx again for any assistance you can provide.
- Mike


"Jacob Skaria" wrote:

=SUMIFS($Z8:$AS8,INDIRECT("$Z"&ROW(OFFSET(M8,ROW($ M6)-ROW(M8),0))&":"&"$AS"&ROW(OFFSET(M8,ROW(M6)-ROW(M8),0))),"k")

Copy the formula to the same cell from where you copied the below..

If this post helps click Yes
--------------
Jacob Skaria


"MikeF" wrote:

Ok, here it is....

=SUMIFS($Z8:$AS8,INDIRECT("$Z"&ROW(OFFSET(M8,ROW($ M$6)-ROW(M8),0))&":"&"$AS"&ROW(OFFSET(M8,ROW(M$6)-ROW(M8),0))),"k")

There are 2 instances of ROW(m$6).
The "$6" needs to change to 2 rows above whatever cell ROW(m8) becomes, as
per the examples below.

Thanx,
- Mike



"Jacob Skaria" wrote:

Please paste the formula

If this post helps click Yes
--------------
Jacob Skaria


"MikeF" wrote:



My routine "lands" on cell m1000, and there is a row formula in it that
contains cell m$6.

Using find-and-replace, would like to change the 6 to row 998.
To be specific, it should be absolute two rows above wherever the routine
"lands" my active cell.

Examples:

Lands on cell 200, $6 should change to $198.
Lands on cell 10020, $6 should change to $10018.
Lands on cell 1744, $6 should change to $1742.
**** Lands on cell 1746, $6 should change to $1744.
**** Lands on cell 808, $6 should change to $806.
... And so on.

Any assistance will be greatly appreciated.
Regards,
- Mike

ps: Bernie MVP, if you're reading this, it could be the solution. Thanx!



All times are GMT +1. The time now is 08:32 AM.

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