Pela rotina que o Reinaldo passou, os valores estão direto nas celulas :
strAtual = ActiveSheet.Range("C2")
strNovo = ActiveSheet.Range("D2")
Com isto sub entende-se que você está digitando nestes campos, neste caso devido o idioma o excel irá colocar virgula, e para utilizar da forma que pretende temos de converter este numero para texto e substituir a virgula por ponto, de uma olhada na rotina abaixo, deixei ela separada só para seu entendimento, faça alguns testes e se for isto e não conseguir implementar na rotina principal avisa que ajustamos.
Sub ConverteNum()
Dim strAtual As String, strNovo As String
strAtual = ActiveSheet.Range("C2")
strNovo = ActiveSheet.Range("D2")
CDec (strAtual) 'converte a string em decimal
CDec (strNovo) 'converte a string em decimal
MsgBox Replace(strAtual, ",", ".") 'converte virgula para ponto
MsgBox Replace(strNovo, ",", ".") 'converte virgula para ponto
'Formata o numero para texto e trocamos a virgula por ponto
Range("C3").NumberFormat = "@"
Range("C3").Value = Replace(strAtual, ",", ".")
'Formata o numero para texto e trocamos a virgula por ponto
Range("D3").NumberFormat = "@"
Range("D3").Value = Replace(strNovo, ",", ".")
End Sub
[]s
Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel
Postado : 02/10/2015 6:43 am