View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.programming
[email protected] paul.robinson@it-tallaght.ie is offline
external usenet poster
 
Posts: 789
Default Naming a range in a module

On Jan 10, 9:52*am, Sue wrote:
I want to select a two cell range and name it using Excel Basic.

The code below does select the two cells with the coordinates of the lower
cell being (ReqRow,ReqCol).

The first two lines of the naming code compile and run but produce nothing
ie no name in list of range names. AccCode is correctly read previously
however. It is a 3 letter string eg veh.

The third line of the naming code will not compile - how do you name a range
rather than a single cell?

Help! There is so much I don't know!

Sue

* * * * * * ReqRow = ActiveCell.Row
* * * * * * ReqCol = ActiveCell.Column
* * * * * * ActiveCell.Offset(-1, 0).Range("A1:A2").Select
* * * * * * ActiveWorkbook.Names.Add Name:="ac" & AccCode, RefersToR1C1:= _
* * * * * * * * *"'Work Data'!R[" & ReqRow & "]C[" & ReqCol & "]:" _
'Comment * * * * * * * * [" & ReqRow & - 1"]C[" & ReqCol & "]""
* * * * * * ActiveCell.Offset(1, 2).Range("A1").Select


Hi
Naming Ranges is much easier than naming formulas or strings. Simply
do

ActiveCell.Offset(-1, 0).Range("A1:A2").Name = "ac" & AccCode

This name will apply to the active sheet. If you only want it to apply
to a specific sheet like Sheet1 use

ActiveCell.Offset(-1, 0).Range("A1:A2").Name = "Sheet1!ac" & AccCode

regards
Paul