Home |
Search |
Today's Posts |
#1
Posted to microsoft.public.excel.programming
|
|||
|
|||
Named ranges and variables
Hello,
I'd like to select a named range that can be different depending the conditions, and I'd like to use a variable to contain the named range but the statement Worksheets("Docs").Range(CurRange).Select won't accept the CurRange variable. Let's say I have two named ranges: myRange1 ( for the range a1:b1) and myRange2 (for the named (range) single cell a7). Depending of the conditions I wan't to set CurRange to contain either myRange1 or myRange 2 and the program to select the right range. (I need to use named ranges as the position of the named ranges will change during time.) Is there any good solution? Best regards Mats Samson |
#2
Posted to microsoft.public.excel.programming
|
|||
|
|||
Named ranges and variables
Hi,
Dim CurRange as Range Dim i as integer i = 1 ' or i=2 ... set your condition Set CurRange = Worksheets("Docs").Range("MyRange" & i) CurRange.Select HTH "Mats Samson" wrote: Hello, I'd like to select a named range that can be different depending the conditions, and I'd like to use a variable to contain the named range but the statement Worksheets("Docs").Range(CurRange).Select won't accept the CurRange variable. Let's say I have two named ranges: myRange1 ( for the range a1:b1) and myRange2 (for the named (range) single cell a7). Depending of the conditions I wan't to set CurRange to contain either myRange1 or myRange 2 and the program to select the right range. (I need to use named ranges as the position of the named ranges will change during time.) Is there any good solution? Best regards Mats Samson |
#3
Posted to microsoft.public.excel.programming
|
|||
|
|||
Named ranges and variables
Hello Toppers!
Sorry but I can't get it to work. Even if I follow your instruction exactly it stops at the Set....-line with error 1004. Again, this is how it looks: I have two named ranges in the sheet Docs. myRange1 for cell A16 and myRange2 for cell M20. Conditionally, I can run Sub StartOne () procedure and set the condition CurRange = "myRange1". If I instead run the Sub StartTwo () procedure the condition is set to CurRange= "myRange2". Both these two procedures will jump to Sub Goal() and depending on the CurRange variable it will (should) select the requested cell through a statement similar to CurRange.Select Can you solve it, please Best regards Mats "Toppers" wrote: Hi, Dim CurRange as Range Dim i as integer i = 1 ' or i=2 ... set your condition Set CurRange = Worksheets("Docs").Range("MyRange" & i) CurRange.Select HTH "Mats Samson" wrote: Hello, I'd like to select a named range that can be different depending the conditions, and I'd like to use a variable to contain the named range but the statement Worksheets("Docs").Range(CurRange).Select won't accept the CurRange variable. Let's say I have two named ranges: myRange1 ( for the range a1:b1) and myRange2 (for the named (range) single cell a7). Depending of the conditions I wan't to set CurRange to contain either myRange1 or myRange 2 and the program to select the right range. (I need to use named ranges as the position of the named ranges will change during time.) Is there any good solution? Best regards Mats Samson |
#4
Posted to microsoft.public.excel.programming
|
|||
|
|||
Named ranges and variables
Hi Mats,
Perhaps something like: Sub Tester02() Dim CurRange As Range ' Define the 2 named ranges With Worksheets("Docs") .Range("A1:B1").Name = "myRange1" .Range("A7").Name = "myRange2" End With If Range("D1") 10 Then '<=== Change condition to suit! Set CurRange = Range("myrange1") Else Set CurRange = Range("myrange2") End If Application.Goto CurRange End Sub --- Regards, Norman "Mats Samson" wrote in message ... Hello, I'd like to select a named range that can be different depending the conditions, and I'd like to use a variable to contain the named range but the statement Worksheets("Docs").Range(CurRange).Select won't accept the CurRange variable. Let's say I have two named ranges: myRange1 ( for the range a1:b1) and myRange2 (for the named (range) single cell a7). Depending of the conditions I wan't to set CurRange to contain either myRange1 or myRange 2 and the program to select the right range. (I need to use named ranges as the position of the named ranges will change during time.) Is there any good solution? Best regards Mats Samson |
#5
Posted to microsoft.public.excel.programming
|
|||
|
|||
Named ranges and variables
Hi Norman,
no unfortunately not. It won't work with a predefined range as it becomes static when written in the code. Later, when you've changed position of the range then you have to edit the code and change the range. That's why I'm using named ranges in the code, because you can redefine a named range in Insert/Name/Define...without changing the code. My problem is that I want the code to change the named range to the current position and different start- and goal- ranges are used depending on previous conditions. By branching and narrowing/closing (I don't know the right expression) the procedures you can shorten and (re)use the code for different purposes or conditions. Thanks anyway! Mats "Norman Jones" wrote: Hi Mats, Perhaps something like: Sub Tester02() Dim CurRange As Range ' Define the 2 named ranges With Worksheets("Docs") .Range("A1:B1").Name = "myRange1" .Range("A7").Name = "myRange2" End With If Range("D1") 10 Then '<=== Change condition to suit! Set CurRange = Range("myrange1") Else Set CurRange = Range("myrange2") End If Application.Goto CurRange End Sub --- Regards, Norman "Mats Samson" wrote in message ... Hello, I'd like to select a named range that can be different depending the conditions, and I'd like to use a variable to contain the named range but the statement Worksheets("Docs").Range(CurRange).Select won't accept the CurRange variable. Let's say I have two named ranges: myRange1 ( for the range a1:b1) and myRange2 (for the named (range) single cell a7). Depending of the conditions I wan't to set CurRange to contain either myRange1 or myRange 2 and the program to select the right range. (I need to use named ranges as the position of the named ranges will change during time.) Is there any good solution? Best regards Mats Samson |
#6
Posted to microsoft.public.excel.programming
|
|||
|
|||
Named ranges and variables
Hi Mats,
The code portion: ' Define the 2 named ranges With Worksheets("Docs") .Range("A1:B1").Name = "myRange1" .Range("A7").Name = "myRange2" End With Was only included for demo purposes. In your situation, two ranges would be set elsewhere. Simply delete this portion from the demo. --- Regards, Norman "Mats Samson" wrote in message ... Hi Norman, no unfortunately not. It won't work with a predefined range as it becomes static when written in the code. Later, when you've changed position of the range then you have to edit the code and change the range. That's why I'm using named ranges in the code, because you can redefine a named range in Insert/Name/Define...without changing the code. My problem is that I want the code to change the named range to the current position and different start- and goal- ranges are used depending on previous conditions. By branching and narrowing/closing (I don't know the right expression) the procedures you can shorten and (re)use the code for different purposes or conditions. Thanks anyway! Mats "Norman Jones" wrote: Hi Mats, Perhaps something like: Sub Tester02() Dim CurRange As Range ' Define the 2 named ranges With Worksheets("Docs") .Range("A1:B1").Name = "myRange1" .Range("A7").Name = "myRange2" End With If Range("D1") 10 Then '<=== Change condition to suit! Set CurRange = Range("myrange1") Else Set CurRange = Range("myrange2") End If Application.Goto CurRange End Sub --- Regards, Norman |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
Similar Threads | ||||
Thread | Forum | |||
Cell Variables and Ranges | Excel Discussion (Misc queries) | |||
Using named variables | Excel Discussion (Misc queries) | |||
Like 123, allow named ranges, and print named ranges | Excel Discussion (Misc queries) | |||
named ranges - changing ranges with month selected | Excel Programming | |||
using variables to set ranges | Excel Programming |