ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   How do I create this range? (https://www.excelbanter.com/excel-programming/360836-how-do-i-create-range.html)

Monica

How do I create this range?
 
I am trying to set a range in vba, but am having trouble figuring out how to
code it.
I know the proper syntax is normally this:
MyRange = Worksheets(ActSheet).Range("C5:C50")

My problem is that I won't have the LETTER (like C) of the column, only the
number, like instead of column "C" I would have a number 3. So basically,
how can I replace the ("C5:C50") portion with integer type variables?

Thanks in advance

JE McGimpsey

How do I create this range?
 
One way:

Dim MyRange As Variant
Dim nCol As Long
nCol = 3
MyRange = Worksheets(ActSheet).Cells(5, nCol).Resize(46, 1).Value

In article ,
monica wrote:

I am trying to set a range in vba, but am having trouble figuring out how to
code it.
I know the proper syntax is normally this:
MyRange = Worksheets(ActSheet).Range("C5:C50")

My problem is that I won't have the LETTER (like C) of the column, only the
number, like instead of column "C" I would have a number 3. So basically,
how can I replace the ("C5:C50") portion with integer type variables?

Thanks in advance


Monica

How do I create this range?
 
Great, that works. Now how can I do a sum on the contents of that range? I
tried doing "for each cell in MyRange" but it gives an error...

Thanks again.


"JE McGimpsey" wrote:

One way:

Dim MyRange As Variant
Dim nCol As Long
nCol = 3
MyRange = Worksheets(ActSheet).Cells(5, nCol).Resize(46, 1).Value

In article ,
monica wrote:

I am trying to set a range in vba, but am having trouble figuring out how to
code it.
I know the proper syntax is normally this:
MyRange = Worksheets(ActSheet).Range("C5:C50")

My problem is that I won't have the LETTER (like C) of the column, only the
number, like instead of column "C" I would have a number 3. So basically,
how can I replace the ("C5:C50") portion with integer type variables?

Thanks in advance



Monica

How do I create this range?
 
Oops, nevermind...I figured it out!

"monica" wrote:

Great, that works. Now how can I do a sum on the contents of that range? I
tried doing "for each cell in MyRange" but it gives an error...

Thanks again.


"JE McGimpsey" wrote:

One way:

Dim MyRange As Variant
Dim nCol As Long
nCol = 3
MyRange = Worksheets(ActSheet).Cells(5, nCol).Resize(46, 1).Value

In article ,
monica wrote:

I am trying to set a range in vba, but am having trouble figuring out how to
code it.
I know the proper syntax is normally this:
MyRange = Worksheets(ActSheet).Range("C5:C50")

My problem is that I won't have the LETTER (like C) of the column, only the
number, like instead of column "C" I would have a number 3. So basically,
how can I replace the ("C5:C50") portion with integer type variables?

Thanks in advance



Andrew Taylor

How do I create this range?
 
You need to do

Set MyRange = (whatever)

otherwise you'll just get the Value of the Range on the
right-hand side, not the Range object itself. You could
also use:

Dim MyRange as Range

instead of ..as Variant, which would catch this kind of error.



monica wrote:
Great, that works. Now how can I do a sum on the contents of that range? I
tried doing "for each cell in MyRange" but it gives an error...

Thanks again.


"JE McGimpsey" wrote:

One way:

Dim MyRange As Variant
Dim nCol As Long
nCol = 3
MyRange = Worksheets(ActSheet).Cells(5, nCol).Resize(46, 1).Value

In article ,
monica wrote:

I am trying to set a range in vba, but am having trouble figuring out how to
code it.
I know the proper syntax is normally this:
MyRange = Worksheets(ActSheet).Range("C5:C50")

My problem is that I won't have the LETTER (like C) of the column, only the
number, like instead of column "C" I would have a number 3. So basically,
how can I replace the ("C5:C50") portion with integer type variables?

Thanks in advance




Dana DeLouis

How do I create this range?
 
Now how can I do a sum on the contents of that range?
I tried doing "for each cell in MyRange" ....


Don't know if this idea will help...

Const C As Long = 3
Debug.Print _
WorksheetFunction.Sum(Range(Cells(5, C), Cells(50, C)))

--
HTH. :)
Dana DeLouis
Windows XP, Office 2003


"monica" wrote in message
...
Oops, nevermind...I figured it out!

"monica" wrote:

Great, that works. Now how can I do a sum on the contents of that range?
I
tried doing "for each cell in MyRange" but it gives an error...

Thanks again.


"JE McGimpsey" wrote:

One way:

Dim MyRange As Variant
Dim nCol As Long
nCol = 3
MyRange = Worksheets(ActSheet).Cells(5, nCol).Resize(46, 1).Value

In article ,
monica wrote:

I am trying to set a range in vba, but am having trouble figuring out
how to
code it.
I know the proper syntax is normally this:
MyRange = Worksheets(ActSheet).Range("C5:C50")

My problem is that I won't have the LETTER (like C) of the column,
only the
number, like instead of column "C" I would have a number 3. So
basically,
how can I replace the ("C5:C50") portion with integer type variables?

Thanks in advance





All times are GMT +1. The time now is 08:09 PM.

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