Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27
Default How do I write a select case statement for range

Hi,
I have a Range variable 'r'
When it is equal to certain cells I want to allocate certain values to
a 'result' varaible, for example;

When r = cell E4 result = snag
When r = cell E3 result = PQA
When r = cell E2 result = Stage 3
When r = cell E1 result = Stage 2

I guess a select case statement is my best option here.
How would I write the statement,
Thank you for your help.

  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 7,247
Default How do I write a select case statement for range

You could try code line the following:

Select Case UCase(R.Address(False, False))
Case "A1"
Result = "is A1"
Case "B2"
Result = "is B2"
' and so on
Case Else
' address is not in a Case statement
End Select


--
Cordially,
Chip Pearson
Microsoft Most Valuable Professional
Excel Product Group
Pearson Software Consulting, LLC
www.cpearson.com
(email on web site)


"ChipButtyMan" wrote in message
...
Hi,
I have a Range variable 'r'
When it is equal to certain cells I want to allocate certain values to
a 'result' varaible, for example;

When r = cell E4 result = snag
When r = cell E3 result = PQA
When r = cell E2 result = Stage 3
When r = cell E1 result = Stage 2

I guess a select case statement is my best option here.
How would I write the statement,
Thank you for your help.


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,058
Default How do I write a select case statement for range

You don't require select case:

s = Array("snag", "PQA", "Stage 3", "Stage 2")
For i = 4 To 1 Step -1
If Not Intersect(r, Range("E" & i)) Is Nothing Then
result = s(4 - i)
End If
Next
--
Gary''s Student - gsnu200806


"ChipButtyMan" wrote:

Hi,
I have a Range variable 'r'
When it is equal to certain cells I want to allocate certain values to
a 'result' varaible, for example;

When r = cell E4 result = snag
When r = cell E3 result = PQA
When r = cell E2 result = Stage 3
When r = cell E1 result = Stage 2

I guess a select case statement is my best option here.
How would I write the statement,
Thank you for your help.


  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,934
Default How do I write a select case statement for range

This single line of code (assuming the newsreader doesn't wrap it onto two
lines) will do basically the same thing as your code...

If r.Column = 5 Then result = Choose(r,Row, "Stage 2", "Stage 3", "PQA",
"snag")

except that result will be assigned Null rather than the empty string ("")
if the row number is something other than 1 through 4 (which can be tested
for using the IsNull function).

--
Rick (MVP - Excel)


"Gary''s Student" wrote in message
...
You don't require select case:

s = Array("snag", "PQA", "Stage 3", "Stage 2")
For i = 4 To 1 Step -1
If Not Intersect(r, Range("E" & i)) Is Nothing Then
result = s(4 - i)
End If
Next
--
Gary''s Student - gsnu200806


"ChipButtyMan" wrote:

Hi,
I have a Range variable 'r'
When it is equal to certain cells I want to allocate certain values to
a 'result' varaible, for example;

When r = cell E4 result = snag
When r = cell E3 result = PQA
When r = cell E2 result = Stage 3
When r = cell E1 result = Stage 2

I guess a select case statement is my best option here.
How would I write the statement,
Thank you for your help.



  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,058
Default How do I write a select case statement for range

Fantastic! I never realized CHOOSE() was available in VBA!

Thank you also for your continued advice
--
Gary''s Student - gsnu200806


"Rick Rothstein" wrote:

This single line of code (assuming the newsreader doesn't wrap it onto two
lines) will do basically the same thing as your code...

If r.Column = 5 Then result = Choose(r,Row, "Stage 2", "Stage 3", "PQA",
"snag")

except that result will be assigned Null rather than the empty string ("")
if the row number is something other than 1 through 4 (which can be tested
for using the IsNull function).

--
Rick (MVP - Excel)


"Gary''s Student" wrote in message
...
You don't require select case:

s = Array("snag", "PQA", "Stage 3", "Stage 2")
For i = 4 To 1 Step -1
If Not Intersect(r, Range("E" & i)) Is Nothing Then
result = s(4 - i)
End If
Next
--
Gary''s Student - gsnu200806


"ChipButtyMan" wrote:

Hi,
I have a Range variable 'r'
When it is equal to certain cells I want to allocate certain values to
a 'result' varaible, for example;

When r = cell E4 result = snag
When r = cell E3 result = PQA
When r = cell E2 result = Stage 3
When r = cell E1 result = Stage 2

I guess a select case statement is my best option here.
How would I write the statement,
Thank you for your help.






  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27
Default How do I write a select case statement for range

Thanks a million everyone, very much obliged!

Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Select Case Statement Katie Excel Worksheet Functions 13 December 1st 08 07:32 PM
Using Like Statement in Select Case J@Y Excel Programming 2 July 25th 07 05:30 PM
select case statement? CR[_2_] Excel Programming 5 December 20th 06 09:21 PM
Select Case within IF-Else statement rwnelson Excel Programming 8 April 6th 06 06:47 PM
select case statement jrd269[_4_] Excel Programming 4 June 3rd 05 04:22 PM


All times are GMT +1. The time now is 05:38 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"