Need help with named ranges

G

Guest

The below code works, but I need to be able to select the sheet first. Is it
possible to do this with selecting the sheet, which in my case is (Visible =
False)

Sheets("sheetname").Select
With Workbooks(WorkbookMain).Sheets("sheetname")
.Range("Data_EMCSoftware").Select
.Range(Selection, Selection.End(xlDown)).Select
Selection.name = "Data_EMCSoftwareList"

.Range("Data_SoftwareExclude").Select
.Range(Selection, Selection.End(xlDown)).Select
Selection.name = "Data_SoftwareExludeList"

.Range("Data_SoftwareInclude").Select
.Range(Selection, Selection.End(xlDown)).Select
Selection.name = "Data_SoftwareIncludeList"

End With
 
B

Bob Phillips

Dim rng As Range

With Workbooks(WorkbookMain).Worksheets("sheetname")
Set rng = .Range("Data_EMCSoftware")
.Range(rng, rng.End(xlDown)).Name = "Data_EMCSoftwareList"

Set rng = .Range("Data_SoftwareExclude")
.Range(rng, rng.End(xlDown)).Name = "Data_SoftwareExludeList"

Set rng = .Range("Data_SoftwareInclude")
.Range(rng, rng.End(xlDown)).Name = "Data_SoftwareIncludeList"

End With


--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
G

Guest

Bob,

Perfect, many thanks.

--
Trefor


Bob Phillips said:
Dim rng As Range

With Workbooks(WorkbookMain).Worksheets("sheetname")
Set rng = .Range("Data_EMCSoftware")
.Range(rng, rng.End(xlDown)).Name = "Data_EMCSoftwareList"

Set rng = .Range("Data_SoftwareExclude")
.Range(rng, rng.End(xlDown)).Name = "Data_SoftwareExludeList"

Set rng = .Range("Data_SoftwareInclude")
.Range(rng, rng.End(xlDown)).Name = "Data_SoftwareIncludeList"

End With


--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
G

Guest

Bob,

I just found a catch, if the cell contains a formula that resolves to a
blank the .Range(rng, rng.End(xlDown)).Name still runs to the end of the
cells containing a formula. I am trying to capture only the cells that have a
value other than "", is this possible?
 
B

Bob Phillips

Trefor,

Do you mean that it goes to the end of the column? If so, if say
Data_EMCSoftware is blank, what should be selected/

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
D

Dave Peterson

I'd just look.

Dim DestCell as Range
....
With Workbooks(WorkbookMain).Worksheets("sheetname")
Set rng = .Range("Data_EMCSoftware")
set DestCell = rng.end(xldown)
do
if destcell.row = rng.row then
'stop looking, at the top of the range
exit do
end if
if destcell <> "" then
exit do
else
'come up a row and continue testing
set destcell = destcell.offset(-1,0)
end if
loop
.Range(rng, destcell)).Name = "Data_EMCSoftwareList"
.....
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top