Notifications
Clear all

Substituir , Virgula por Ponto .

23 Posts
4 Usuários
0 Reactions
5,790 Visualizações
(@rechbr)
Posts: 19
Active Member
Topic starter
 

Garimpando pela internet achei uns códigos que poderiam me ajudar onde troca o ponto pela virgula e converte os números do formato texto para formato números.

Enfim,

A macro esta convertendo os números e ficam em modo texto (exclamação ao lado do numero). Tentei algumas altera coes sem sucesso, poderiam me ajudar?
Codigo é copiado caso tenham soluções melhores, estou aberto a sugestoes.

    Sheets("DADOS").Select
    With Range("I1:I700")
        .Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        Selection.NumberFormat = "General"
        .Value = .Value
    End With
 
Postado : 23/11/2015 8:43 am
(@edivan)
Posts: 119
Estimable Member
 

Para preencher as abas cada uma com suas informações use essa macro:

Sub Colar_Informacoes_Correspondentes()

Dim i, IndicePlanilha As Integer
Dim LIN As Integer, LINHA As Integer

LINHA = 2
LIN = 2

IndicePlanilha = Sheets.Count

For i = 1 To IndicePlanilha

Do Until Plan1.Range("A" & LIN).Value = ""

If Sheets(i).Name Like "MP" & "*" = False Then Exit Do

If Sheets(i).Name = Plan1.Range("B" & LIN).Value Then
Sheets(i).Range("A" & LINHA).Value = Plan1.Range("A" & LIN).Value
Sheets(i).Range("B" & LINHA).Value = Plan1.Range("B" & LIN).Value
Sheets(i).Range("C" & LINHA).Value = Plan1.Range("C" & LIN).Value
Sheets(i).Range("D" & LINHA).Value = Plan1.Range("D" & LIN).Value
Sheets(i).Range("E" & LINHA).Value = Plan1.Range("E" & LIN).Value
Sheets(i).Range("F" & LINHA).Value = Plan1.Range("F" & LIN).Value
Sheets(i).Range("G" & LINHA).Value = Plan1.Range("G" & LIN).Value
Sheets(i).Range("H" & LINHA).Value = Plan1.Range("H" & LIN).Value
Sheets(i).Range("I" & LINHA).Value = Plan1.Range("I" & LIN).Value
Sheets(i).Range("J" & LINHA).Value = Plan1.Range("J" & LIN).Value
Sheets(i).Range("K" & LINHA).Value = Plan1.Range("K" & LIN).Value
Sheets(i).Range("L" & LINHA).Value = Plan1.Range("L" & LIN).Value
Sheets(i).Range("M" & LINHA).Value = Plan1.Range("M" & LIN).Value

LINHA = LINHA + 1
End If
LIN = LIN + 1
Loop

LINHA = 2
LIN = 2
Next i

End Sub

 
Postado : 25/11/2015 3:40 pm
(@edivan)
Posts: 119
Estimable Member
 

Espero sinceramente que tenha te servido para alguma coisa.... rsrs

 
Postado : 25/11/2015 3:41 pm
(@rechbr)
Posts: 19
Active Member
Topic starter
 

Olá...

Para trocar o ponto pela virgula tente essa macro aqui:

Sub TROCAR_PONTO_POR_VIRGULA()
Dim LIN As Integer
LIN = 2

Plan1.Select

Do Until Plan1.Range("A" & LIN).Value = ""
Plan1.Range("I" & LIN).NumberFormat = "0.00"
Plan1.Range("I" & LIN).Value = Plan1.Range("I" & LIN).Value
LIN = LIN + 1
Loop



End Sub

As demais vou ver se consigo preparar aqui e posto assim que pronto

Visite meu blog:
programacaopassoapasso.wordpress.com

VALEU!!!!!!!!!!!!!!! FIZ algumas adptações pro meu caso, mas funcionou.

Sub TROCAR_PONTO_POR_VIRGULA()
Dim LIN As Integer
LIN = 2

Sheets("DADOS").Select

Do Until Sheets("DADOS").Range("A" & LIN).Value = ""
Sheets("DADOS").Range("I" & LIN).NumberFormat = "0.00"
Sheets("DADOS").Range("I" & LIN).Value = Sheets("DADOS").Range("I" & LIN).Value * 1
LIN = LIN + 1

Loop

End Sub

Estou trabalhando nos outros.
Na linha Sheets("DADOS").Range("I" & LIN).Value = Sheets("DADOS").Range("I" & LIN).Value * 1 precisei fazer o que foi comentado nos posts anteriores e multiplicar por 1

 
Postado : 26/11/2015 6:16 am
(@rechbr)
Posts: 19
Active Member
Topic starter
 

Não tem como fazer direto com a coluna inteira?

 
Postado : 26/11/2015 6:34 am
(@edivan)
Posts: 119
Estimable Member
 

Não sei, se teria como fazer com a coluna inteira... Eu tentei varias coisas aqui e o unico que funcionou foi isso e como funcionou eu parei de tentar rs.

E os demais códigos já testou?

 
Postado : 26/11/2015 7:00 am
(@rechbr)
Posts: 19
Active Member
Topic starter
 

A planilha esta apagando as informacoes.

Estou testando a ultima. OBRIGADO!!

 
Postado : 26/11/2015 7:32 am
(@rechbr)
Posts: 19
Active Member
Topic starter
 

SEM PALAVRAS!
MUITO OBRIGADO A TODOS QUE AJUDARAM!

Precisei alterar algumas coisinhas, por exemplo, a coluna "D" tive que deletar o .value pois tava gerando problemas fora isso, perfeito.

Antes de eu fechar o tópico, quero rodar as 4 macros, preciso por algum delay entre elas, ou alguma coisa assim?

 
Postado : 26/11/2015 11:09 am
(@edivan)
Posts: 119
Estimable Member
 

Não precisa....

Basta apenas chamar pelo nome de cada e pronto

uma atras da outra, dentro de alguma coisa que servirá para executa-las, como por exemplo um botão ou um evento qualquer de disparo...

 
Postado : 26/11/2015 11:27 am
Página 2 / 2