none
Com identificar uma sequência de caracteres dentro de uma variável RRS feed

  • Pergunta

  • Olá pessoal,

    Gostaria de saber se alguém conhece algum modo de identificar diretamente caracteres dentro de uma variável (parecido com um find), exemplo:

    sub Identificar()
    
    dim sVar as string
    
    
    svar = Plan1.Cells(2,2) 'Recebe o valor da variável contido na célula = C420_DI01_FIT09_HMI_NUE
    
    
    'Aqui gostaria de identificar diretamente a parte "FIT" sem utilizar o método MID junto com algum loop. Gostaria de encontrar diretamente igual a uma ferramenta pesquisar por exemplo.
    
    
    
    
    end sub

    Muito Obrigado a Todos.


    quarta-feira, 7 de outubro de 2015 11:34

Respostas

  • Bom dia Lucas, 

    Utilize a função INSTR, que é similar ao MID do excel.

    Ela retorna a posição da primeira ocorrência do valor procurado

    Sua sintaxe é: instr(posicao inicial, string a ser pesquisada, string procurada)

    instr(1,"C420_DI01_FIT09_HMI_NUE", "FIT") por exemplo retornaria 11, primeira ocorrência de FIT.

    Referência:

    https://msdn.microsoft.com/pt-br/library/8460tsh1%28v=vs.90%29.aspx?f=255&MSPPError=-2147217396

    quarta-feira, 7 de outubro de 2015 12:16
  • Sub Main()
        Dim SubStringPosition As Long
        
        SubStringPosition = InStr("Felipe", "el")
        If SubStringPosition > 0 Then
            MsgBox "A sequência 'el' começa na posição " & SubStringPosition & " em 'Felipe'", vbInformation
        Else
            MsgBox "A sequência 'el' não foi encontrada em 'Felipe'", vbInformation
        End If
        
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quarta-feira, 7 de outubro de 2015 19:35
    Moderador

Todas as Respostas

  • Bom dia Lucas, 

    Utilize a função INSTR, que é similar ao MID do excel.

    Ela retorna a posição da primeira ocorrência do valor procurado

    Sua sintaxe é: instr(posicao inicial, string a ser pesquisada, string procurada)

    instr(1,"C420_DI01_FIT09_HMI_NUE", "FIT") por exemplo retornaria 11, primeira ocorrência de FIT.

    Referência:

    https://msdn.microsoft.com/pt-br/library/8460tsh1%28v=vs.90%29.aspx?f=255&MSPPError=-2147217396

    quarta-feira, 7 de outubro de 2015 12:16
  • Ok, e se a variável não obtiver nenhum ocorrência?
    quarta-feira, 7 de outubro de 2015 19:24
  • Sub Main()
        Dim SubStringPosition As Long
        
        SubStringPosition = InStr("Felipe", "el")
        If SubStringPosition > 0 Then
            MsgBox "A sequência 'el' começa na posição " & SubStringPosition & " em 'Felipe'", vbInformation
        Else
            MsgBox "A sequência 'el' não foi encontrada em 'Felipe'", vbInformation
        End If
        
    End Sub


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quarta-feira, 7 de outubro de 2015 19:35
    Moderador
  • A ajuda de vocês me ajudou a resolver o problema.

    Obrigado a todos!

    quinta-feira, 8 de outubro de 2015 10:38