- 22 Maio 2009
- Uncategorized
- 3 Comments
-
Etiquetas:asp, excel, macros, microsoft, software
Excel – Converter Texto para Número automáticamente
22 Maio 2009 Posted By Tiago Salgado
Já por várias vezes me aconteceu ter que importar um ficheiro em Excel para uma tabela no SQL Server e perder dados na importação devido a células que deveriam ser números, estarem assumidas como texto.
Quando isto acontece, o Excel dá-nos essa indicação e permite-nos converter esse mesmo texto para número.
Quando temos poucos dados, esta correcção torna-se fácil e não perdemos muito tempo. O problema é quando temos um ficheiro com milhares de linhas e dezenas de colunas e temos que andar à procura de todas as células que possam ter esse erro.
Para me resolver esse problema, criei uma Macro que vai percorrer todas as células no intervalo definido e verificar se existe este erro, e caso exista vai corrigi-lo.
Para saber que determinada célula está neste estado, as funções IsText() e IsNumeric() terão que retornar um valor verdadeiro, e para corrigir basta alterar o valor da célula para o valor actual
A Macro pode ser algo como isto:
Sub ConverterTextoParaNumero()
On Error GoTo ErroFor Each celula In Range(“A:A”)
If IsNumeric(Range(celula.Address)) And Application.WorksheetFunction.IsText(Range(celula.Address)) Then
celula.Interior.ColorIndex = 36
celula.Value = celula.Value
End If
Next celula
MsgBox “Processo terminado”Exit Sub
Erro:
MsgBox “Erro no processo”
End Sub
Este código vai percorrer todo o intervalo definido e alterar todas as células no estado de “Número copiado como texto” para um fundo amarelo e corrigir o erro.
-
Luís Gustavo Roma
-
http://oito.wordpress.com/ Tiago Salgado
-
Norberto Ferreira



