Notifications
Clear all

Gráfico de Linhas com faixas horizontais

9 Posts
3 Usuários
0 Reactions
2,148 Visualizações
(@jose7br)
Posts: 67
Trusted Member
Topic starter
 

Boa noite a todos :D

Será que alguém pode me dar uma luz? A planilha está anexo

Minha situação é a seguinte:
Preciso fazer um gráfico de linhas onde teráo faixas horizontais em todo o gráfico.
a altura dessas faixas horizontais irão variar de acordo com a porcentagem da tabela amarela.

- Pensei em fazer dois gráficos e colocar um sobre o outro. Mas sem solução ainda.

Desde já, meu muito obrigado pela atenção e bom final de semana a todos!

 
Postado : 05/01/2018 3:31 pm
(@jose7br)
Posts: 67
Trusted Member
Topic starter
 

Boa noite,

o tamanho das faixas serão adicionadas automaticamente de acordo com a porcentagem dela na tabela amarela.

A ideia é mostrar um gráfico só.
o gráfico que você fez, ele estava pronto na planilha que mostrei, porem, eu inseri as barras manualmente para mostrar como seria.

O meu grande problema é criar essas faixas automaticamente mudando a altura (eixo y) de acordo com a porcentagem na célula.

 
Postado : 05/01/2018 4:03 pm
(@klarc28)
Posts: 971
Prominent Member
 

Não entendi essa proporção. A soma das porcentagens dá 80%, mas as faixas preenchem 100%.

 
Postado : 05/01/2018 4:59 pm
(@jose7br)
Posts: 67
Trusted Member
Topic starter
 

o correto é 100% mesmo..
foi erro meu aqui.

mas o total de tudo será 100%

e muito obrigado desde já pela atenção :D

 
Postado : 05/01/2018 5:01 pm
(@jose7br)
Posts: 67
Trusted Member
Topic starter
 

boa noite,

Vi essa planilha, e a ideia é a mesma, porem,
achei essa solução é inviável.

 
Postado : 06/01/2018 2:16 am
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

Colega jose7br Bom dia!!

Veja se isso atende sua necessidade...

Perceba que o percentual que indica a altura da faixa está correndo inversamente ao percentual do eixo Y, portanto altere algumas vezes esses percentuais das faixas até se acostumar com a lógica.. Abrç!

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 06/01/2018 8:24 am
(@jose7br)
Posts: 67
Trusted Member
Topic starter
 

boa tarde..
entendi sim a questão lá das porcentagens..muito bom, parabéns ;D

mas não consegui entender como você fez, tem como dar uma pequena explicaçãozinha?
e muito obrigado por toda a ajuda.
e bom ano para você

 
Postado : 07/01/2018 2:10 pm
(@klarc28)
Posts: 971
Prominent Member
 

tem como dar uma pequena explicaçãozinha?

O sufixo "inha" significa "pequena".

 
Postado : 07/01/2018 8:08 pm
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

Olá colega jose7br Bom dia novamente!

Bem nesse caso usei VBA..

Baseando no tamanho do seu gráfico, fiz com que, sempre que altere o percentual nas células de "Q9 a Q12", altere também o tamanho das faixas.

O tamanho e posicionamento pode ser visto através do código:

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Cells.Count > 1 Then
Exit Sub
End If

If Target.Column = 17 And Target.Row >= 9 And Target.Row <= 12 Then
faixa_cinza:
ActiveSheet.Shapes.Range(Array("Faixa_cinza")).Select
With ActiveSheet.Shapes.Range(Array("Faixa_cinza"))
.Left = 105 'Posião
.Top = 339 'Posição
.Height = [Plan1].Range("Q9").Value * 172 'Tamanho  (onde 172 é o tamanho correspondente à 100%)
End With
' a mesma lógica é seguida para as outras faixas
faixa_verde:
ActiveSheet.Shapes.Range(Array("Faixa_verde")).Select
With ActiveSheet.Shapes.Range(Array("Faixa_verde"))
.Left = 105
.Width = 441
.Top = 339
.Height = [Plan1].Range("Q10").Value * 172
End With

faixa_amarela:
ActiveSheet.Shapes.Range(Array("Faixa_amarela")).Select
With ActiveSheet.Shapes.Range(Array("Faixa_amarela"))
.Left = 105
.Width = 441
.Top = 339
.Height = [Plan1].Range("Q11").Value * 172
End With

faixa_azul:
ActiveSheet.Shapes.Range(Array("Faixa_azul")).Select
With ActiveSheet.Shapes.Range(Array("Faixa_azul"))
.Left = 105
.Width = 441
.Top = 339
.Height = [Plan1].Range("Q12").Value * 172
End With
End If
Target.Offset(1, 0).Select

Application.ScreenUpdating = True
End Sub

Um detalhe é que, se mudar o tamanho do gráfico terá de alterar os valores no código..

Abrç!

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 08/01/2018 6:05 am