Erro na execução do...
 
Notifications
Clear all

Erro na execução do código que gera um gráfico de 2 eixos  

  RSS

Fernando Fernandes
(@fernandofernandes)
Illustrious Member
Entrou: 12 anos atrás
Posts: 44273
05/05/2010 9:52 am  

Amigos, boa tarde

Preciso de ajuda para resolver o erro abaixo que acontece apenas no office 2007. Nas versões anteriores o código roda.
O código deve excluir e incluir um novo gráfico sempre que executado. Inseri um grafico de 02 eixos já formatado no modelos de gráficos mas o erro continua.

Erro em tempo de execução 2147467259 (80004005)

Diposição dos dados no excel:
O Que N.º de Ocorrências % Acumulado
A 43 20%
B 26 32%
C 25 44%
D 23 54%

Sub Pareto()
'
'
'On Error GoTo 1

Dim i As Integer

i = 13

'Application.DisplayAlerts = False
'Application.ScreenUpdating = False

Charts("Pareto").Delete
Range("B13:D22").Select
Charts.Add
ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Lins. - Cols. em 2 eixos"

With ThisWorkbook.Sheets("Estratificação")

Do While .Range("B" & i).Value <> ""

If i > 22 Then
Exit Do
End If

i = i + 1
Loop

End With

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


ResponderCitar (Quote)
Fernando Fernandes
(@fernandofernandes)
Illustrious Member
Entrou: 12 anos atrás
Posts: 44273
24/09/2010 10:17 pm  

Pelo que pude ver o seu problema esta em ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= "Lins. - Cols. em 2 eixos"

xlBuiltIn é um enumerador inexistente no Excel 2007 em diante eu fiz uma alteração, espero que ajude:

Sub Pareto()
Dim i As Integer
Dim ch As Chart

i = 13

'Application.DisplayAlerts = False
'Application.ScreenUpdating = False

For Each ch In Charts
    If ch.Name = "Pareto" Then
        ch.Delete
    End If
Next

Range("B13:D22").Select
Charts.Add
With ActiveChart
    .Name = "Pareto"
    .ApplyCustomType xlBarStacked, "Lins. - Cols. em 2 eixos"
End With
With ThisWorkbook.Sheets("Estratificação")
    Do While .Range("B" & i).Value <> ""
        If i > 22 Then
            Exit Do
        End If
        i = i + 1
    Loop
End With
End Sub

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


ResponderCitar (Quote)
Compartilhar: