Como substituir letras em uma célula com números definidos de uma tabela separada

0

Eu tenho uma célula que tem números e letras mistos (ex. AA12CC45WR ) e eles são aleatórios.

Em outra planilha, eu tenho uma tabela que tem o equivalente para cada letra (células A1 , B1 )

A=1
C=25
W=66
R=77 

para as letras ABC até Z

A solução deve ser 11122525456677

Como faço para gerar uma função para substituir todas as letras pelos números definidos na outra folha?

    
por maas 04.12.2011 / 07:32

1 resposta

1

Aqui está uma função que fará a decodificação. Coloque isso em um módulo e atualize a referência do intervalo conforme necessário. Se a célula A1 tiver o valor original de "código", insira a fórmula: =Decode(A1) em outra célula para obter o valor "decodificado".

Public Function Decode(Code As String) As String
    Dim iIdx As Integer
    Dim sChar As String
    Dim sResult As String
    For iIdx = 1 To Len(Code)
        sChar = UCase$(Mid$(Code, iIdx, 1))
        If Asc(sChar) >= 65 And Asc(sChar) <= 90 Then
            sChar = WorksheetFunction.VLookup(sChar, Worksheets("Sheet2").Range("A1:B26"), 2, False)
        End If
        sResult = sResult & sChar
    Next iIdx
    Decode = sResult
End Function
    
por 04.12.2011 / 08:42