Armazenando números como texto para o VLOOKUP

1

Estou agregando uma grande quantidade de dados de várias pastas de trabalho e preciso cruzar vários milhares de itens, trabalho perfeito para o VLOOKUP.

No entanto, tudo que consigo é o adorável erro #NA.

O problema, claro, é a incompatibilidade de tipos, como sempre. Por alguma razão, selecionando as células e definindo o tipo para texto não é suficiente, você tem que entrar na célula e então pressionar enter (F2 + Enter, ou use o código fornecido abaixo). Existe uma maneira melhor de forçar os dados a serem de um determinado tipo usando funções integradas do Excel? Eu tentei de tudo, desde pintor de formato, texto a colunas, etc. e não obtive resultados.

Código VBA que usei como solução alternativa:

Sub Macro3()
' Select the starting cell, macro will work it's way down the list changing nothing.
'
Dim variable As String
Dim t As Integer

Application.ScreenUpdating = False
Application.DisplayAlerts = False

For t = 0 To 500
    variable = ActiveCell.FormulaR1C1
    ActiveCell.FormulaR1C1 = variable
    ActiveCell.Offset(1, 0).Range("A1").Select
Next t

Application.ScreenUpdating = True
Application.DisplayAlerts = True

End Sub
    
por Christian 13.05.2016 / 22:21

2 respostas

1

Infelizmente, o Excel considera-se melhor do que você e, seja o que for, se você carregar algo parecido com um número, ele se torna um.

O que eu geralmente faço é colocar uma fórmula em uma coluna auxiliar que torna o texto =TEXT(A1,"0") , copiar a fórmula e copiar a coluna inteira e Paste Values sobre os dados originais. Você pode então jogar a coluna auxiliar.

    
por 13.05.2016 / 22:40
0

Você precisa encapsular a célula com uma string em branco para forçar o texto a ser digitado.

Em uma coluna auxiliar =A1 & "" e copie a coluna para baixo. Agora, quando você faz um VLOOKUP, o número será tratado como texto.

    
por 14.05.2016 / 01:42