none
Função que mostre a diferença entre dois textos RRS feed

  • Pergunta

  • Existe ou é possível fazer uma função que mostre a diferença de texto entre duas células e imprima esta diferença?

    Por exemplo:

    A1: Rubens Alves Fonseca Silva

    B1: Rubens Alves Fonseca

    C1 (Função desejada, diferença de texto entre A1 e B1): Silva

    Grato.

    terça-feira, 20 de novembro de 2012 10:54

Respostas

  • É possível fazer por fórmulas, mas sugiro que use VBA para este caso. Cole num módulo regular a função:

    Function SubtrairTexto(rMinuendo As Range, rSubtraendo As Range) As String
        
        Dim vPalavra As Variant
        Dim Temp 'As String
        
        Temp = rMinuendo
        For Each vPalavra In Split(rSubtraendo, " ")
            Temp = Replace(Temp, vPalavra, "", , 1)
        Next vPalavra
        
        Temp = Trim(Temp)
        Do While InStr(Temp, "  ") > 0
            Temp = Replace(Temp, "  ", " ")
        Loop
        
        SubtrairTexto = Temp
    End Function

    Em seguida, digite na célula C1:

    =SubtrairTexto(A1;A2)


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

    • Marcado como Resposta Eduardo_bor quarta-feira, 21 de novembro de 2012 17:46
    terça-feira, 20 de novembro de 2012 20:30
    Moderador

Todas as Respostas

  • É possível fazer por fórmulas, mas sugiro que use VBA para este caso. Cole num módulo regular a função:

    Function SubtrairTexto(rMinuendo As Range, rSubtraendo As Range) As String
        
        Dim vPalavra As Variant
        Dim Temp 'As String
        
        Temp = rMinuendo
        For Each vPalavra In Split(rSubtraendo, " ")
            Temp = Replace(Temp, vPalavra, "", , 1)
        Next vPalavra
        
        Temp = Trim(Temp)
        Do While InStr(Temp, "  ") > 0
            Temp = Replace(Temp, "  ", " ")
        Loop
        
        SubtrairTexto = Temp
    End Function

    Em seguida, digite na célula C1:

    =SubtrairTexto(A1;A2)


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

    • Marcado como Resposta Eduardo_bor quarta-feira, 21 de novembro de 2012 17:46
    terça-feira, 20 de novembro de 2012 20:30
    Moderador
  • Funcionou perfeitamente. Obrigado, Felipe.
    quarta-feira, 21 de novembro de 2012 17:46