Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#2
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#3
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#4
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#5
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
#6
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
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 |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
create range bar graph | Charts and Charting in Excel | |||
How do I create a Range Name? | New Users to Excel | |||
Trying to create a range in an IF function | Excel Worksheet Functions | |||
Create/copy combo boxes in one range if condition is met in a different range | Excel Programming | |||
create a chart without set range | Excel Programming |