Notifications
Clear all

Formatar numero no gráfico

9 Posts
2 Usuários
0 Reactions
1,378 Visualizações
(@graupp)
Posts: 29
Eminent Member
Topic starter
 

Bom dia pessoal!

Nao sei se este é o lugar certo para tirar minha duvida mas la vai. Estou fazendo um gráfico para analisar o historico de compras anual dos clientes. Nesse gráfico posso escolher a quantidade que ele vendeu de peças ou a porcentagem de crescimento que ele teve em relação ao ano anterior. O meu problema é o seguinte: existe alguma forma de formatar os numeros do gráfico para quando selecionar qtd de peças ele formatar os numeros do gráfico como numero e quando selecionar % de crescimento ele formatar os numeros em porcentagem? Obrigado pessoal!

 
Postado : 04/03/2013 5:23 am
(@graupp)
Posts: 29
Eminent Member
Topic starter
 

Um amigo me passou esse codigo:

Sub ind()
Dim INDICADORES
INDICADORES = Range("Analise por cliente!N10")

If INDICADORES = 1 Then
Range("b8:d8").NumberFormat = "#,##0.00"

ElseIf INDICADORES = 2 Then
Range("b8:d8").NumberFormat = "$ #,##0.00"

Else
Range("b8:d8").NumberFormat = "0.00%"
End If

End Sub

Mas nao funcionou. Nao entendo nada de VBA.

 
Postado : 04/03/2013 7:43 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde graupp

Eu alterei a macro que teu amigo postou, para ela ser ativada conforme a seleção da célula N10, pois do jeito que estava iria depender de um botão de comando.

Para testar, selecione outra opção da célula N10.

Não se esqueça de ativar as macros quando acessar a planilha.

Dê retorno.

Um abraço.

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/03/2013 9:54 am
(@graupp)
Posts: 29
Eminent Member
Topic starter
 

Boa tarde Patropi

As macros estao ativas e nao teve nenhuma alteração.

 
Postado : 04/03/2013 10:28 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Tentando contribuir:
Primeiro no gráfico selecione "Formatar rotulo de dados" depois numero e "clicar" no local "Vincular á fonte"
e utilize o codigo abaixo

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$N$10" Or Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
    If UCase(Target.Value) = UCase("qtd de pçs") Then
         Sheets("FORMULAS").Range("b8:d8").NumberFormat = "#,##0"
     Else
        Sheets("FORMULAS").Range("b8:d8").NumberFormat = "0.00"
    End If
Application.EnableEvents = True
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/03/2013 10:49 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa tarde Patropi

As macros estao ativas e nao teve nenhuma alteração.

Mas você selecionou a outra opção na célula N10 -> mudando de Qtd de Pçs para % de Crescimento? Esse é o comando para a Macro!

Experimente na planilha que te enviei, pois aqui no meu PC tá funcionando.

O Reinaldo aproveitou o mesmo código e tornou-o mais prático, pois com a modificação que ele fez não precisa da célula auxiliar N1.

Att

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/03/2013 11:19 am
(@graupp)
Posts: 29
Eminent Member
Topic starter
 

Entao pessoal será que meu excel esta com alguma opção desativada? Pois nenhum dos codigos funcionou. Fui em central de confiabilidade e habilitei todas as macros, alterei a opçao da celula N10 e nao mudou a formatação dos numeros no grafico. Tb tentei com o codigo do Reinaldo e nao funcionou.

 
Postado : 04/03/2013 12:36 pm
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Onde vc está adicionando o codigo, ele tem de "ficar" no modulo que tem o nome da planilha. No modelo do colega Patropi já está no local correto, porem verifique que a celula N1 não seja apagada.
Fora isso,pelo que descreveu, não há motivo que justifique "não rodar"

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 04/03/2013 2:21 pm
(@graupp)
Posts: 29
Eminent Member
Topic starter
 

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$N$10" Or Target.Count > 1 Then Exit Sub
Application.EnableEvents = False
If UCase(Target.Value) = UCase("qtd de pçs") Then
Sheets("FORMULAS").Range("b8:d8").NumberFormat = "#,##0"
Else
Sheets("FORMULAS").Range("b8:d8").NumberFormat = "0.00"
End If
Application.EnableEvents = True
End Sub

Obrigado reinaldo e Patropi! Agora consegui, só acrescentei na macro um sinal de % depois do 0 ai deu certo. Muito obrigado mesmo pessoal!

 
Postado : 07/03/2013 10:30 am