![]() |
named ranges, I think
Can I use named ranges to make my code easier to follow?
What I would like to do is something like this: rnage("a1").select lastrow=Range(Selection, Selection.End(xlDown)).Cells.Count name cells A2 to Alastrow as price name cells B2 to Blastrow as quantity name cells C2 to Clastrow as cost for i=2 to lastrow cost(i)=price(i)*quantity(i) next i This is more meaningful than cells(i,"c").value=cells(i,"a").value*cells(i,"b") .value Or is there a better and clearer way to do this? Thanks Chris |
named ranges, I think
"inquirer" wrote in message ... Can I use named ranges to make my code easier to follow? What I would like to do is something like this: rnage("a1").select lastrow=Range(Selection, Selection.End(xlDown)).Cells.Count name cells A2 to Alastrow as price name cells B2 to Blastrow as quantity name cells C2 to Clastrow as cost for i=2 to lastrow cost(i)=price(i)*quantity(i) next i This is more meaningful than cells(i,"c").value=cells(i,"a").value*cells(i,"b") .value Or is there a better and clearer way to do this? Thanks Chris Some options... Option Explicit '---------------------------------------- Sub main() Dim cost As Range Dim quantity As Range Dim price As Range Set price = Range("A1:A10").Cells Set quantity = Range("B1:B10").Cells Set cost = Range("C1:C10").Cells Dim i As Integer For i = 1 To 10 cost(i).Value = _ price(i).Value * _ quantity(i).Value Next i End Sub '---------------------------------------- Sub main2() 'If ranges are named... '(I had trouble naming ranges in code. 'Don't know what the trouble is. 'I've done it before. Not working tonight. 'Tired? Not thinking clearly?) Dim i As Long For i = 1 To 10 Range("cost")(i).Value = _ Range("price")(i).Value * _ Range("quantity")(1).Value Next i End Sub '---------------------------------------- Sub main3() Const price = "a" Const quantity = "b" Const cost = "c" Dim i As Long For i = 1 To 10 Cells(i, cost).Value = _ Cells(i, price).Value * _ Cells(i, quantity).Value 'or Columns(cost).Rows(i).Value = _ Columns(price).Rows(i).Value * _ Columns(quantity).Rows(1).Value 'or Columns(cost).Cells(i).Value = _ Columns(price).Cells(i).Value * _ Columns(quantity).Cells(i).Value Next i End Sub |
named ranges, I think
Mnay thanks Bob, I will try all the otpions bit I think the first one is the
one I will use. Chris "Bob Kilmer" wrote in message ... "inquirer" wrote in message ... Can I use named ranges to make my code easier to follow? What I would like to do is something like this: rnage("a1").select lastrow=Range(Selection, Selection.End(xlDown)).Cells.Count name cells A2 to Alastrow as price name cells B2 to Blastrow as quantity name cells C2 to Clastrow as cost for i=2 to lastrow cost(i)=price(i)*quantity(i) next i This is more meaningful than cells(i,"c").value=cells(i,"a").value*cells(i,"b") .value Or is there a better and clearer way to do this? Thanks Chris Some options... Option Explicit '---------------------------------------- Sub main() Dim cost As Range Dim quantity As Range Dim price As Range Set price = Range("A1:A10").Cells Set quantity = Range("B1:B10").Cells Set cost = Range("C1:C10").Cells Dim i As Integer For i = 1 To 10 cost(i).Value = _ price(i).Value * _ quantity(i).Value Next i End Sub '---------------------------------------- Sub main2() 'If ranges are named... '(I had trouble naming ranges in code. 'Don't know what the trouble is. 'I've done it before. Not working tonight. 'Tired? Not thinking clearly?) Dim i As Long For i = 1 To 10 Range("cost")(i).Value = _ Range("price")(i).Value * _ Range("quantity")(1).Value Next i End Sub '---------------------------------------- Sub main3() Const price = "a" Const quantity = "b" Const cost = "c" Dim i As Long For i = 1 To 10 Cells(i, cost).Value = _ Cells(i, price).Value * _ Cells(i, quantity).Value 'or Columns(cost).Rows(i).Value = _ Columns(price).Rows(i).Value * _ Columns(quantity).Rows(1).Value 'or Columns(cost).Cells(i).Value = _ Columns(price).Cells(i).Value * _ Columns(quantity).Cells(i).Value Next i End Sub |
All times are GMT +1. The time now is 11:01 PM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com