Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
Ken Ken is offline
external usenet poster
 
Posts: 590
Default Select Case Type Mismatch

I have a "Select Case" arrangement (below) and it is giving me a Type
mismatch error. This is based on a user form.
I tried using the Val() on the two numbers with no results. The variable
deptx,y is previously populated and works.
any help is greatly appreciated.

SELECT CASE Frm_Locations_UnBound.Side AND
Frm_Locations_UnBound.DeptFromRefX AND Frm_Locations_UnBound.DeptFromRefY
Case Is = "R", Is 0, Is 0 'NE Quad Right
deptx = deptx
depty = depty * -1
Case Is = "L", Is 0, Is 0 'NE Quad Left
deptx = deptx * -1
depty = depty
Case Is = "R", Is 0, Is < 0 'SE Quad Right
deptx = deptx * -1
depty = depty * -1
Case Is = "L", Is 0, Is < 0 'SE Quad Left
deptx = deptx
depty = depty
Case Is = "R", Is < 0, Is < 0 'SW Quad Right
deptx = deptx * -1
depty = depty
Case Is = "L", Is < 0, Is < 0 'SW Quad Left
deptx = deptx
depty = depty * -1
Case Is = "R", Is < 0, Is 0 'NW Quad Right
deptx = deptx
depty = depty * -1
Case Is = "L", Is < 0, Is 0 'NW Quad Left
deptx = deptx * -1
depty = depty * -1
End Select
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9,101
Default Select Case Type Mismatch

What are you doing? the AND is producing a TRUE or FALSE result. Then you
can't compare "R" 0 (a character with a digit). You can search for a
String as folows

if Instr(MyStr, "R") 0

Instr indicates where one string is llocated i another str string. If the
string is not found you get 0.

"Ken" wrote:

I have a "Select Case" arrangement (below) and it is giving me a Type
mismatch error. This is based on a user form.
I tried using the Val() on the two numbers with no results. The variable
deptx,y is previously populated and works.
any help is greatly appreciated.

SELECT CASE Frm_Locations_UnBound.Side AND
Frm_Locations_UnBound.DeptFromRefX AND Frm_Locations_UnBound.DeptFromRefY
Case Is = "R", Is 0, Is 0 'NE Quad Right
deptx = deptx
depty = depty * -1
Case Is = "L", Is 0, Is 0 'NE Quad Left
deptx = deptx * -1
depty = depty
Case Is = "R", Is 0, Is < 0 'SE Quad Right
deptx = deptx * -1
depty = depty * -1
Case Is = "L", Is 0, Is < 0 'SE Quad Left
deptx = deptx
depty = depty
Case Is = "R", Is < 0, Is < 0 'SW Quad Right
deptx = deptx * -1
depty = depty
Case Is = "L", Is < 0, Is < 0 'SW Quad Left
deptx = deptx
depty = depty * -1
Case Is = "R", Is < 0, Is 0 'NW Quad Right
deptx = deptx
depty = depty * -1
Case Is = "L", Is < 0, Is 0 'NW Quad Left
deptx = deptx * -1
depty = depty * -1
End Select

  #3   Report Post  
Posted to microsoft.public.excel.programming
Ken Ken is offline
external usenet poster
 
Posts: 590
Default Select Case Type Mismatch

Thanks for getting back to me.
I am trying to evaluate 3 different textboxes on a form. A person can be
entering x and y coordinates for a projection either Right or Left of center.
There are going to be 8 different configurations, 2 for each quadrant.
So I want to test if:
side= R
x 0
Y 0
Then the y needs to be negative. And so on for 7 more conditions.

"joel" wrote:

What are you doing? the AND is producing a TRUE or FALSE result. Then you
can't compare "R" 0 (a character with a digit). You can search for a
String as folows

if Instr(MyStr, "R") 0

Instr indicates where one string is llocated i another str string. If the
string is not found you get 0.

"Ken" wrote:

I have a "Select Case" arrangement (below) and it is giving me a Type
mismatch error. This is based on a user form.
I tried using the Val() on the two numbers with no results. The variable
deptx,y is previously populated and works.
any help is greatly appreciated.

SELECT CASE Frm_Locations_UnBound.Side AND
Frm_Locations_UnBound.DeptFromRefX AND Frm_Locations_UnBound.DeptFromRefY
Case Is = "R", Is 0, Is 0 'NE Quad Right
deptx = deptx
depty = depty * -1
Case Is = "L", Is 0, Is 0 'NE Quad Left
deptx = deptx * -1
depty = depty
Case Is = "R", Is 0, Is < 0 'SE Quad Right
deptx = deptx * -1
depty = depty * -1
Case Is = "L", Is 0, Is < 0 'SE Quad Left
deptx = deptx
depty = depty
Case Is = "R", Is < 0, Is < 0 'SW Quad Right
deptx = deptx * -1
depty = depty
Case Is = "L", Is < 0, Is < 0 'SW Quad Left
deptx = deptx
depty = depty * -1
Case Is = "R", Is < 0, Is 0 'NW Quad Right
deptx = deptx
depty = depty * -1
Case Is = "L", Is < 0, Is 0 'NW Quad Left
deptx = deptx * -1
depty = depty * -1
End Select

  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9,101
Default Select Case Type Mismatch

Lets use binaray arithmetic to get 8 results

Index = 0
If Frm_Locations_UnBound.Side = "L" then
Index = Index + 4
end if
If Frm_Locations_UnBound.DeptFromRefX = 0 then
Index = Index + 2
end if
If Frm_Locations_UnBound.DeptFromRefX = 0 then
Index = Index + 1
end if

Select Case Index
Case 0 'R x<0 y<0

Case 1 'R x=0 y<0

Case 2 'R x<0 y=0

Case 3 'R x=0 y=0

Case 4 'L x<0 y<0

Case 5 'L x=0 y<0

Case 6 'L x<0 y=0

Case 7 'L x=0 y=0

end Select
"Ken" wrote:

Thanks for getting back to me.
I am trying to evaluate 3 different textboxes on a form. A person can be
entering x and y coordinates for a projection either Right or Left of center.
There are going to be 8 different configurations, 2 for each quadrant.
So I want to test if:
side= R
x 0
Y 0
Then the y needs to be negative. And so on for 7 more conditions.

"joel" wrote:

What are you doing? the AND is producing a TRUE or FALSE result. Then you
can't compare "R" 0 (a character with a digit). You can search for a
String as folows

if Instr(MyStr, "R") 0

Instr indicates where one string is llocated i another str string. If the
string is not found you get 0.

"Ken" wrote:

I have a "Select Case" arrangement (below) and it is giving me a Type
mismatch error. This is based on a user form.
I tried using the Val() on the two numbers with no results. The variable
deptx,y is previously populated and works.
any help is greatly appreciated.

SELECT CASE Frm_Locations_UnBound.Side AND
Frm_Locations_UnBound.DeptFromRefX AND Frm_Locations_UnBound.DeptFromRefY
Case Is = "R", Is 0, Is 0 'NE Quad Right
deptx = deptx
depty = depty * -1
Case Is = "L", Is 0, Is 0 'NE Quad Left
deptx = deptx * -1
depty = depty
Case Is = "R", Is 0, Is < 0 'SE Quad Right
deptx = deptx * -1
depty = depty * -1
Case Is = "L", Is 0, Is < 0 'SE Quad Left
deptx = deptx
depty = depty
Case Is = "R", Is < 0, Is < 0 'SW Quad Right
deptx = deptx * -1
depty = depty
Case Is = "L", Is < 0, Is < 0 'SW Quad Left
deptx = deptx
depty = depty * -1
Case Is = "R", Is < 0, Is 0 'NW Quad Right
deptx = deptx
depty = depty * -1
Case Is = "L", Is < 0, Is 0 'NW Quad Left
deptx = deptx * -1
depty = depty * -1
End Select

  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9,101
Default Select Case Type Mismatch

I just realized that your numbers are in textboxes so you have to use VAL()
and I had X twice instead of X (+2) and Y (+1).

Index = 0
If Frm_Locations_UnBound.Side = "L" then
Index = Index + 4
end if
If Val(Frm_Locations_UnBound.DeptFromRefX) = 0 then
Index = Index + 2
end if
If val(Frm_Locations_UnBound.DeptFromRefY) = 0 then
Index = Index + 1
end if

Select Case Index
Case 0 'R x<0 y<0

Case 1 'R x=0 y<0

Case 2 'R x<0 y=0

Case 3 'R x=0 y=0

Case 4 'L x<0 y<0

Case 5 'L x=0 y<0

Case 6 'L x<0 y=0

Case 7 'L x=0 y=0

end Select


"joel" wrote:

Lets use binaray arithmetic to get 8 results

Index = 0
If Frm_Locations_UnBound.Side = "L" then
Index = Index + 4
end if
If Frm_Locations_UnBound.DeptFromRefX = 0 then
Index = Index + 2
end if
If Frm_Locations_UnBound.DeptFromRefX = 0 then
Index = Index + 1
end if

Select Case Index
Case 0 'R x<0 y<0

Case 1 'R x=0 y<0

Case 2 'R x<0 y=0

Case 3 'R x=0 y=0

Case 4 'L x<0 y<0

Case 5 'L x=0 y<0

Case 6 'L x<0 y=0

Case 7 'L x=0 y=0

end Select
"Ken" wrote:

Thanks for getting back to me.
I am trying to evaluate 3 different textboxes on a form. A person can be
entering x and y coordinates for a projection either Right or Left of center.
There are going to be 8 different configurations, 2 for each quadrant.
So I want to test if:
side= R
x 0
Y 0
Then the y needs to be negative. And so on for 7 more conditions.

"joel" wrote:

What are you doing? the AND is producing a TRUE or FALSE result. Then you
can't compare "R" 0 (a character with a digit). You can search for a
String as folows

if Instr(MyStr, "R") 0

Instr indicates where one string is llocated i another str string. If the
string is not found you get 0.

"Ken" wrote:

I have a "Select Case" arrangement (below) and it is giving me a Type
mismatch error. This is based on a user form.
I tried using the Val() on the two numbers with no results. The variable
deptx,y is previously populated and works.
any help is greatly appreciated.

SELECT CASE Frm_Locations_UnBound.Side AND
Frm_Locations_UnBound.DeptFromRefX AND Frm_Locations_UnBound.DeptFromRefY
Case Is = "R", Is 0, Is 0 'NE Quad Right
deptx = deptx
depty = depty * -1
Case Is = "L", Is 0, Is 0 'NE Quad Left
deptx = deptx * -1
depty = depty
Case Is = "R", Is 0, Is < 0 'SE Quad Right
deptx = deptx * -1
depty = depty * -1
Case Is = "L", Is 0, Is < 0 'SE Quad Left
deptx = deptx
depty = depty
Case Is = "R", Is < 0, Is < 0 'SW Quad Right
deptx = deptx * -1
depty = depty
Case Is = "L", Is < 0, Is < 0 'SW Quad Left
deptx = deptx
depty = depty * -1
Case Is = "R", Is < 0, Is 0 'NW Quad Right
deptx = deptx
depty = depty * -1
Case Is = "L", Is < 0, Is 0 'NW Quad Left
deptx = deptx * -1
depty = depty * -1
End Select



  #6   Report Post  
Posted to microsoft.public.excel.programming
Ken Ken is offline
external usenet poster
 
Posts: 590
Default Select Case Type Mismatch

Thats an approach I've never seen before.
Cool, Thanks.

Just out of curiosity, can you have multiple conditions for multiple
variables in a Select case?, or can you just test multiple conditions for 1
variable.

"joel" wrote:

Lets use binaray arithmetic to get 8 results

Index = 0
If Frm_Locations_UnBound.Side = "L" then
Index = Index + 4
end if
If Frm_Locations_UnBound.DeptFromRefX = 0 then
Index = Index + 2
end if
If Frm_Locations_UnBound.DeptFromRefX = 0 then
Index = Index + 1
end if

Select Case Index
Case 0 'R x<0 y<0

Case 1 'R x=0 y<0

Case 2 'R x<0 y=0

Case 3 'R x=0 y=0

Case 4 'L x<0 y<0

Case 5 'L x=0 y<0

Case 6 'L x<0 y=0

Case 7 'L x=0 y=0

end Select
"Ken" wrote:

Thanks for getting back to me.
I am trying to evaluate 3 different textboxes on a form. A person can be
entering x and y coordinates for a projection either Right or Left of center.
There are going to be 8 different configurations, 2 for each quadrant.
So I want to test if:
side= R
x 0
Y 0
Then the y needs to be negative. And so on for 7 more conditions.

"joel" wrote:

What are you doing? the AND is producing a TRUE or FALSE result. Then you
can't compare "R" 0 (a character with a digit). You can search for a
String as folows

if Instr(MyStr, "R") 0

Instr indicates where one string is llocated i another str string. If the
string is not found you get 0.

"Ken" wrote:

I have a "Select Case" arrangement (below) and it is giving me a Type
mismatch error. This is based on a user form.
I tried using the Val() on the two numbers with no results. The variable
deptx,y is previously populated and works.
any help is greatly appreciated.

SELECT CASE Frm_Locations_UnBound.Side AND
Frm_Locations_UnBound.DeptFromRefX AND Frm_Locations_UnBound.DeptFromRefY
Case Is = "R", Is 0, Is 0 'NE Quad Right
deptx = deptx
depty = depty * -1
Case Is = "L", Is 0, Is 0 'NE Quad Left
deptx = deptx * -1
depty = depty
Case Is = "R", Is 0, Is < 0 'SE Quad Right
deptx = deptx * -1
depty = depty * -1
Case Is = "L", Is 0, Is < 0 'SE Quad Left
deptx = deptx
depty = depty
Case Is = "R", Is < 0, Is < 0 'SW Quad Right
deptx = deptx * -1
depty = depty
Case Is = "L", Is < 0, Is < 0 'SW Quad Left
deptx = deptx
depty = depty * -1
Case Is = "R", Is < 0, Is 0 'NW Quad Right
deptx = deptx
depty = depty * -1
Case Is = "L", Is < 0, Is 0 'NW Quad Left
deptx = deptx * -1
depty = depty * -1
End Select

  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 9,101
Default Select Case Type Mismatch

Select case can only be one value, but it could be a combination of variables
like

Select Case (OptionA and OPtionB)

where option A & b are booleans.

"Ken" wrote:

Thats an approach I've never seen before.
Cool, Thanks.

Just out of curiosity, can you have multiple conditions for multiple
variables in a Select case?, or can you just test multiple conditions for 1
variable.

"joel" wrote:

Lets use binaray arithmetic to get 8 results

Index = 0
If Frm_Locations_UnBound.Side = "L" then
Index = Index + 4
end if
If Frm_Locations_UnBound.DeptFromRefX = 0 then
Index = Index + 2
end if
If Frm_Locations_UnBound.DeptFromRefX = 0 then
Index = Index + 1
end if

Select Case Index
Case 0 'R x<0 y<0

Case 1 'R x=0 y<0

Case 2 'R x<0 y=0

Case 3 'R x=0 y=0

Case 4 'L x<0 y<0

Case 5 'L x=0 y<0

Case 6 'L x<0 y=0

Case 7 'L x=0 y=0

end Select
"Ken" wrote:

Thanks for getting back to me.
I am trying to evaluate 3 different textboxes on a form. A person can be
entering x and y coordinates for a projection either Right or Left of center.
There are going to be 8 different configurations, 2 for each quadrant.
So I want to test if:
side= R
x 0
Y 0
Then the y needs to be negative. And so on for 7 more conditions.

"joel" wrote:

What are you doing? the AND is producing a TRUE or FALSE result. Then you
can't compare "R" 0 (a character with a digit). You can search for a
String as folows

if Instr(MyStr, "R") 0

Instr indicates where one string is llocated i another str string. If the
string is not found you get 0.

"Ken" wrote:

I have a "Select Case" arrangement (below) and it is giving me a Type
mismatch error. This is based on a user form.
I tried using the Val() on the two numbers with no results. The variable
deptx,y is previously populated and works.
any help is greatly appreciated.

SELECT CASE Frm_Locations_UnBound.Side AND
Frm_Locations_UnBound.DeptFromRefX AND Frm_Locations_UnBound.DeptFromRefY
Case Is = "R", Is 0, Is 0 'NE Quad Right
deptx = deptx
depty = depty * -1
Case Is = "L", Is 0, Is 0 'NE Quad Left
deptx = deptx * -1
depty = depty
Case Is = "R", Is 0, Is < 0 'SE Quad Right
deptx = deptx * -1
depty = depty * -1
Case Is = "L", Is 0, Is < 0 'SE Quad Left
deptx = deptx
depty = depty
Case Is = "R", Is < 0, Is < 0 'SW Quad Right
deptx = deptx * -1
depty = depty
Case Is = "L", Is < 0, Is < 0 'SW Quad Left
deptx = deptx
depty = depty * -1
Case Is = "R", Is < 0, Is 0 'NW Quad Right
deptx = deptx
depty = depty * -1
Case Is = "L", Is < 0, Is 0 'NW Quad Left
deptx = deptx * -1
depty = depty * -1
End Select

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
Type Mismatch: array or user defined type expected ExcelMonkey Excel Programming 4 July 6th 06 03:40 PM
Type mismatch using rnge as Range with Type 8 Input Box STEVE BELL Excel Programming 11 December 3rd 05 05:02 AM
Help: Compile error: type mismatch: array or user defined type expected lvcha.gouqizi Excel Programming 1 October 31st 05 08:20 PM
Type Mismatch Error when running a SELECT SQL Andy Dorph Excel Programming 1 February 9th 05 06:12 PM
Case when statement gives type mismatch Henrik[_6_] Excel Programming 2 June 16th 04 04:36 PM


All times are GMT +1. The time now is 10:10 PM.

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

About Us

"It's about Microsoft Excel"