Você já deve saber que o Select Case não aceita o operador Like. Mas saiba que existem várias maneiras de contornar esse problema, principalmente com os If ElseIf etc. O código proposto aqui vai ajudar a resolver alguns casos.
Select Case & Like le test
Tente o seguinte código para verificar a afirmação da introdução:
Sub Select_Case_Like()
palavra = "KAKAO"
Select Case palavra
Case palavra Like "*K*K*"
MsgBox "bom"
Case Else
MsgBox "ruim"
End Select
End Sub
Seja qual for o conteúdo da variável 'palavra', ele sempre retornará o 'ruim'. Select Case não gosta do Like.
Teste de expressão: True
A solução para usar o operador Like em um Select Case é adicionar a palavra
True (Falsa). Veja um exemplo de código:
Sub Select_Case_True_Like()
palavra = "KAO"
Select Case True
Case palavra Like "*K*K*"
MsgBox "bom"
Case Else
MsgBox "ruim"
End Select
palavra = "KAKAO"
Select Case True
Case palavra Like "*K*K*"
MsgBox "bon"
Case Else
MsgBox "ruim"
End Select
End Sub
Uma função booleana muito útil
A função
Function Case_True_Like(mot As String) As Boolean
Select Case True
Case palavra Like "*K*K*"
Case_True_Like = True
Case Else
Case_True_Like = False
End Select
End Function
A chamada desta função
Sub Test()
MsgBox Case_True_Like("KAKAO")
End Sub
Essa dica é uma alternativa para o If ElseIf, útil em casos de preferir Select Case, é indispensável testar com Like.
Foto: © Dzmitry Kliapitski - 123RF.com