Notifications
Clear all

Converter TEXTO em Número

3 Posts
2 Usuários
0 Reactions
1,416 Visualizações
Kaleo_rs
(@kaleo_rs)
Posts: 0
Trusted Member
Topic starter
 

Blz Pessoal.

Estou com uma dificuldade ao copiar o valor da planilha1 para a planilha2, sendo que em ambas as célula estão configuradas como NÚMERO, com 2 casas decimais e marcado para usar separador de 1000(.). Porém na planilha2 ao copiar valor aparece como texto.

Dim Valor1 as DOUBLE

Valor1 = Sheets("PLAN1").Cells(1, 1) o conteúdo da célula é 280,80

Sheets("PLAN2").Cells(1, 1) = VBA.FORMAT(VBA.CDBL(Valor1),"##0.00") aparece na célula '280,80

Alguma dica para quando copiar o conteúdo da célula A1 planilha1 para a célula A1 da planilha2 não mostre a opção para CONVERTER EM NÚMERO.

 
Postado : 01/06/2020 7:31 pm
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Boa noite, Kaleo_rs

O retorno da função Format, por definição, é do tipo String. Usada com números, entretanto, por mais que vc tenha perseguido e atingido o formato desejado com ela, só servirá como apresentação. O principal uso é dentro do próprio VBA, em textbox, msgbox, etc. Ou quando a saída requerida para uma célula seja exatamente do tipo texto.
Claro que vc poderia converter para número novamente dentro do VBA, seja usando uma das funções de conversão, seja com algebrismo que não altere o valor (multiplicando por 1 ou somando com zero, por exemplo). Mas daí vc perderia novamente a formatação.
Por isso, quando a saída é para células, ou vc deixa a célula pré-formatada lá no Excel e envia o número do jeito que está (a célula se encarregará de deixar do formato desejado) ou vc define a propriedade NumberFormat ou NumberFormatLocal para a célula. Ex.:

Sheets("PLAN2").Cells(1, 1) .NumberFormatLocal = "#.##0,00"

 
Postado : 01/06/2020 8:49 pm
Kaleo_rs
(@kaleo_rs)
Posts: 0
Trusted Member
Topic starter
 

EdsonBR,

Muito obrigado. Resolvido

 
Postado : 02/06/2020 9:29 am