Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
I have a VBA construct like this one
dim SCell as Range for each SCell in Selection.Cells {snip} next SCell .... where the selected cells are 1 column wide and several rows deep. As the For... Next spins through the cells in the selected range, I need to take some actions if the sum of a range of cells on a given row is greater than zero. So, if SCell is at cell B15, I need to find out the sum of cells D15:G15. What is the code to derive that sum? I'm thinking it's some use of OFFSET, perhaps, but I'm not sure of the syntax. Any ideas? Thanks, Dave O |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]() Set sCell = Range("B15") x = Application.WorksheetFunction.Sum(sCell.Offset(0, 2).Resize(1, 4)) -- Jim Cone Portland, Oregon USA http://www.mediafire.com/PrimitiveSoftware ("List Files" finds files/folders and creates hyperlinked lists) "DaveO" wrote in message ... I have a VBA construct like this one dim SCell as Range for each SCell in Selection.Cells {snip} next SCell ... where the selected cells are 1 column wide and several rows deep. As the For... Next spins through the cells in the selected range, I need to take some actions if the sum of a range of cells on a given row is greater than zero. So, if SCell is at cell B15, I need to find out the sum of cells D15:G15. What is the code to derive that sum? I'm thinking it's some use of OFFSET, perhaps, but I'm not sure of the syntax. Any ideas? Thanks, Dave O |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Thanks, Jim, I'll give it a shot. Because the relative position
changes with each loop, I'll need to modify your code to read Set sCell = Range(sCell.Address) .... but that's exactly what I was looking for. Thanks! |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
My example was misleading in that the Set code line was only there is indicate the reference cell.
If you are looping thru each cell in the selection, then sCell is automatically "Set" by Excel. You don't need to and shouldn't set a reference to it during the loop. On the other hand, the Offset and Resize parameters can be changed to reference different cell locations. Also, it is good practice to specify the parent sheet for a range. Instead of "Range("B17") use Worksheets("Sludge").Range("B17") -- Jim Cone Portland, Oregon USA http://www.mediafire.com/PrimitiveSoftware (Extras for Excel is useful) "DaveO" wrote in message ... Thanks, Jim, I'll give it a shot. Because the relative position changes with each loop, I'll need to modify your code to read Set sCell = Range(sCell.Address) ... but that's exactly what I was looking for. Thanks! |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
formula based on continuous relative cells | Excel Discussion (Misc queries) | |||
Excel Formula using relative position of cells in two different worksheets | Excel Discussion (Misc queries) | |||
Excel Formula using relative position of cells in two different worksheets | Excel Worksheet Functions | |||
Excel Formula using relative position of cells in two different worksheets | Excel Programming | |||
Lookup with search range start based on position of last blank lin | Excel Worksheet Functions |