![]() |
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? |
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? |
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 |
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? |
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