none
Grafico xlPie VBA RRS feed

  • Pergunta

  • Galera, o seguinte, preciso gerar um grafico pizza(xlpie) em VBA, onde será utilizado apenas 2 valores (x,y) que são gerados com em outro codigo VBA.

    Porem com o método  ActiveChart.SetSuorceData consigo apenas selecionar (Range)  células, gostaria de saber como faço para atribuir as variaveis x e y  com  SetSuorceData ou com outro método.

    Valee

    quinta-feira, 4 de outubro de 2012 14:06

Respostas

  • Veja o código abaixo:

    Sub Exemplo()
        ActiveWorkbook.Sheets("Plan1").ChartObjects("Gráfico 1").Chart.SeriesCollection(1).Formula = _
          "=SERIES(""Título"",{""Série 1"",""Série 2"",""Série 3""},{1,2,3},1)"
    End Sub

    Nesse código, estou alterando um gráfico de pizza existente chamado Gráfico 1, que se situa na planilha Plan1 da pasta de trabalho ativa.

    No exemplo acima, o gráfico terá três séries, chamadas Série 1Série 2Série 3, cujos valores são, respectivamente, 1, 2 e 3.

    Estude a fórmula acima e adeque o exemplo acima para sua necessidade, exemplo:

    Sub Exemplo2()
        Dim sTítulo As String
        Dim sSérie1 As String
        Dim sSérie2 As String
        Dim sSérie3 As String
        Dim sSérie4 As String
        Dim dValor1 As Double
        Dim dValor2 As Double
        Dim dValor3 As Double
        Dim dValor4 As Double
        
        sSérie1 = "Norte"
        sSérie2 = "Sul"
        sSérie3 = "Oeste"
        sSérie4 = "Leste"
        dValor1 = 11
        dValor2 = 22
        dValor3 = 33
        dValor4 = 44
        
        ThisWorkbook.Sheets("Plan1").ChartObjects("Gráfico 1").Chart.SeriesCollection(1).Formula = _
          "=SERIES(""" & sTítulo & """,{""" & sSérie1 & """,""" & sSérie2 & """,""" & sSérie3 & """,""" & sSérie4 & """}" & _
          ",{" & dValor1 & "," & dValor2 & "," & dValor3 & "," & dValor4 & "},1)"
    End Sub

    Observação: fique atento ao uso das aspas duplas. Pode ser confuso usá-las no VBA.


    Felipe Costa Gualberto - http://www.ambienteoffice.com.br

    quinta-feira, 4 de outubro de 2012 23:47
    Moderador