View Single Post
  #5   Report Post  
Posted to microsoft.public.excel.programming
Mats Samson Mats Samson is offline
external usenet poster
 
Posts: 112
Default 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