ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   VBA equivalent for SQL 'IN' function (https://www.excelbanter.com/excel-programming/352126-vba-equivalent-sql-function.html)

Mitch

VBA equivalent for SQL 'IN' function
 
SQL, SAS and other 'languages' have a set function that allows the developer
to determine whether a variable's value exists within a set identified in the
'IN' statement; e.g. If myVar in ("A","B","C") then .....
Is there a VBA equivalent?

Tim Williams

VBA equivalent for SQL 'IN' function
 
msgbox
Application.WorksheetFunction.match("help",Array(" this","might","help"),0)

Tim

--
Tim Williams
Palo Alto, CA


"Mitch" wrote in message
...
SQL, SAS and other 'languages' have a set function that allows the

developer
to determine whether a variable's value exists within a set identified in

the
'IN' statement; e.g. If myVar in ("A","B","C") then .....
Is there a VBA equivalent?




tony h[_43_]

VBA equivalent for SQL 'IN' function
 

I am not sure of a direct equivalent but three options:
1. You could use a delimited list and then

if instr(1, "!A!B!C!" , "!" & myvar & "!") < 0 then etc

2. use

Select Case myvar
Case "A", "B", "C"
'do my stuff
End Select


3 create your own function to do it such as

Function myIN(strSearch, ParamArray strIN()) As Boolean
Dim v As Variant

myIN = False

For Each v In strIN()
If strSearch = v Then
myIN = True
Exit For
End If
Next
End Function

if myin(myvar,"B","C","A") then

Regard

--
tony
-----------------------------------------------------------------------
tony h's Profile: http://www.excelforum.com/member.php...fo&userid=2107
View this thread: http://www.excelforum.com/showthread.php?threadid=50748


Mitch

VBA equivalent for SQL 'IN' function
 
Thank you Tim. I'll see if I can make it work.

"Tim Williams" wrote:

msgbox
Application.WorksheetFunction.match("help",Array(" this","might","help"),0)

Tim

--
Tim Williams
Palo Alto, CA


"Mitch" wrote in message
...
SQL, SAS and other 'languages' have a set function that allows the

developer
to determine whether a variable's value exists within a set identified in

the
'IN' statement; e.g. If myVar in ("A","B","C") then .....
Is there a VBA equivalent?





Mitch

VBA equivalent for SQL 'IN' function
 
Thanks Tony. I think that the 3rd method will work.

"tony h" wrote:


I am not sure of a direct equivalent but three options:
1. You could use a delimited list and then

if instr(1, "!A!B!C!" , "!" & myvar & "!") < 0 then etc

2. use

Select Case myvar
Case "A", "B", "C"
'do my stuff
End Select


3 create your own function to do it such as

Function myIN(strSearch, ParamArray strIN()) As Boolean
Dim v As Variant

myIN = False

For Each v In strIN()
If strSearch = v Then
myIN = True
Exit For
End If
Next
End Function

if myin(myvar,"B","C","A") then

Regards


--
tony h
------------------------------------------------------------------------
tony h's Profile: http://www.excelforum.com/member.php...o&userid=21074
View this thread: http://www.excelforum.com/showthread...hreadid=507480




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

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com