Erro em formatação ...
 
Notifications
Clear all

Erro em formatação de moeda nos gráficos (via VBA)

2 Posts
1 Usuários
0 Reactions
1,260 Visualizações
(@gilbertjrs)
Posts: 77
Trusted Member
Topic starter
 

Pessoal o financeiro da empresa que trabalho tem uma planilha onde o usuário escolhe uma moeda (real, dolar ou euro) e
os dados devem ser convertidos para a moeda escolhida.

Pediram para eu corrigir pois os valores dos rótulos de dados dos gráficos estão ficando com mais de 2 casas decimais, porém,
já tentei de tudo e não deu certo.

Criei em casa uma planilha para mostrar o o código VBA:
Alterando a célula 'A6', as linhas 23 e 24,assim como os rótulos de dados dos gráficos,
devem ter as unidades monetárias alteradas (formatação inclusive), porém,
os gráficos não estão mantendo 2 casas decimais.

O que posso fazer para corrigir isto?

Help me! Please!

 
Postado : 17/10/2018 9:23 pm
(@gilbertjrs)
Posts: 77
Trusted Member
Topic starter
 

Pessoal, consegui resolver.

Estava usando string de formatação do tipo Contábil, isto funciona para formatar as células, porém, não deu certo para os gráficos.
Usei formatação do tipo Moeda e, funcionou para os gráficos; testei para as células e, este tipo de formatação não deu certo para elas.

Resumindo, deu tudo certo assim: Usando formatação tipo Contábil para as células e tipo Moeda para os gráficos.

Para as células usei:

Private Function FormatacaoMoeda(ByVal moneyType As String) As String
    Select Case moneyType
        Case Is = "R$": FormatacaoMoeda = _
                "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
        Case Is = "US$": FormatacaoMoeda = _
                "_-[$$-409]* #,##0.00_ ;_-[$$-409]* -#,##0.00 ;_-[$$-409]* ""-""??_ ;_-@_ "
        Case Is = "EUR": FormatacaoMoeda = _
                "_-[$€-2] * #,##0.00_-;-[$€-2] * #,##0.00_-;_-[$€-2] * ""-""??_-;_-@_-"
    End Select
End Function

Para os gráficos usei:

    Select Case moneyType
        Case Is = "R$": FormatMoedaforGraph = "$ #.##0,00"
        Case Is = "US$": FormatMoedaforGraph = "[$$-409] #.##0,00"
        Case Is = "EUR": FormatMoedaforGraph = "[$€-C07] #.##0,00"
    End Select
End Function

 
Postado : 18/10/2018 8:16 am