Pensavo di poter inserire un funzione che disabilitasse il controllo prima di eseguire tutto il codice e di riabilitarlo alla fine facendogli poi fare un refresh, ma non lo trovo, mi potete aiutare ?
Grazie
inserisco di seguito codice magari puo essere di aiuto a chi vuole utilizzare il controllo chartspace
Public Sub GRAFICI()
Set FOGLIOEXCEL = APPEXCEL.ActiveWorkbook.Worksheets("DDE")
With FOGLIOEXCEL
'.........................................................................
'CARICA POSIZIONI DEI DATI PER CREARE LA HOME PAGE
For I = 0 To 5
T = I + 1
POSFOGLIO(I) = .Cells(T * 3 + 108,
![Cool 8)](./images/smilies/icon_cool.gif)
POSBOOK(I) = .Cells(T * 3 + 109,
![Cool 8)](./images/smilies/icon_cool.gif)
Next I
End With
'............................................................................
For I = 0 To 5
If POSFOGLIO(I) <> "" Then
Set FOGLIOEXCEL = APPEXCEL.ActiveWorkbook.Worksheets(POSFOGLIO(I))
With FOGLIOEXCEL
'...............................................................................
ChartSpace1(I).Clear 'PULISCE IL VECCHIO
Set ChartObj = ChartSpace1(I)
Set ChartConsts = ChartObj.Constants
Set NEWCHART = ChartObj.Charts.Add
'..................................................................
'Settiamo il tipo di grafico va da 0 a 65 circa con dei buchi
NEWCHART.Type = 6
'........................................................................
'CARICA DATI
Dim S1(39), S2(39), S3(39), S4(39), S5(39) As Variant
For Z = 0 To 39
S1(Z) = .Cells(Z + 5, 6) 'ASSE X
S2(Z) = .Cells(Z + 5, 170) 'DATI PO SCADENZA
S3(Z) = .Cells(Z + 49, 170) 'DATI PO ATN
S4(Z) = .Cells(Z + 5, 168)
S5(Z) = 0
Next Z
'.............................................................................
'Creazione delle due serie
Set Serie = NEWCHART.SeriesCollection.Add 'Prima colonna
Set Serie1 = NEWCHART.SeriesCollection.Add 'Seconda colonna
Set Serie2 = NEWCHART.SeriesCollection.Add
Set Serie3 = NEWCHART.SeriesCollection.Add '
Set Serie4 = NEWCHART.SeriesCollection.Add '
Serie.SetData ChartConsts.chDimCategories, ChartConsts.chDataLiteral, S1
Serie1.SetData ChartConsts.chDimValues, ChartConsts.chDataLiteral, S2
Serie2.SetData ChartConsts.chDimValues, ChartConsts.chDataLiteral, S3
Serie3.SetData ChartConsts.chDimValues, ChartConsts.chDataLiteral, S4
Serie4.SetData ChartConsts.chDimValues, ChartConsts.chDataLiteral, S5
'..............................................................
'ChartSpace1(I).Visible = True
'Setto il colore di sfondo
NEWCHART.PlotArea.Interior.Color = &H404040 'COLORA SFONDO INTERNO
NEWCHART.Border.Color = RGB(255, 255, 255) 'COLORA BORDO
NEWCHART.Interior.Color = &H404040 'messo dopo colora bordo colora l'interno del bordo
NEWCHART.Border.Weight = 1 'SPESSORE BORDO
'...................................................................................
'SCALA Y
MAXSCALA = .Range("B76")
MINSCALA = .Range("B74")
MajorUnit = .Range("B80")
Set oAxis1 = NEWCHART.Axes(ChartConsts.chAxisPositionLeft) 'SCALA Y
oAxis1.Scaling.Maximum = MAXSCALA
oAxis1.Scaling.Minimum = MINSCALA '-10000
oAxis1.MajorUnit = MajorUnit 'UNITA' DIVISIONE
If .Range("B12") = True Then
oAxis1.NumberFormat = "$ #,##0;[RED]$ -#,##0" 'FORMATTA TIPO DI DATO ASSE Y
Else
oAxis1.NumberFormat = "Pu #,##0;[RED]Pu -#,##0"
End If
oAxis1.Font.Name = "arial" 'tipo stile colore carattere asse y
oAxis1.Font.Bold = False
oAxis1.Font.Size = 7
oAxis1.Font.Color = &HE0E0E0
oAxis1.HasMajorGridlines = True 'VISUALIZZA GRIGLIA ASSE Y
oAxis1.MajorGridlines.Line.Color = RGB(86, 89, 89) 'COLORA LINEE
oAxis1.MajorGridlines.Line.Weight = 1 'spessore
'........................................................................
'ASSE X
Set oAxis2 = NEWCHART.Axes(ChartConsts.chAxisPositionBottom) 'SCALA X
oAxis2.MajorUnit = 4
oAxis2.TickLabelSpacing = 4
oAxis2.HasMajorGridlines = True
oAxis2.MajorGridlines.Line.Color = RGB(86, 89, 89) 'COLORA LINEE
oAxis2.Font.Name = "arial" 'tipo stile colore carattere asse y
oAxis2.Font.Bold = False
oAxis2.Font.Size = 7
oAxis2.Font.Color = &HE0E0E0
'................................................................................................
'COLORE LINEE
If POSBOOK(I) = 1 Then
NEWCHART.SeriesCollection(1).Line.Color = RGB(117, 170, 219) 'PO SCADENZA
NEWCHART.SeriesCollection(2).Line.Color = RGB(117, 170, 219) 'CURVA PREZZI
Else
NEWCHART.SeriesCollection(1).Line.Color = RGB(242, 132, 17) 'PO SCADENZA
NEWCHART.SeriesCollection(2).Line.Color = RGB(242, 132, 17) 'CURVA PREZZI
End If
NEWCHART.SeriesCollection(3).Line.Color = &H404040 'VALORE ATN (DEVE ESSERE TRASPARENTE)
NEWCHART.SeriesCollection(4).Line.Color = RGB(130, 127, 119) 'COLORA SERIE 4 LINEA ZERO
'................................................................................................
'SPESSORE LINEA
NEWCHART.SeriesCollection(1).Line.Weight = 2
NEWCHART.SeriesCollection(3).Line.Weight = 0
NEWCHART.SeriesCollection(4).Line.Weight = 2
'................................................................................................
'TIPO LINEA
NEWCHART.SeriesCollection(2).Line.DashStyle = VtPenStyleDitted
'................................................................................................
'MARCATORE
NEWCHART.SeriesCollection(3).Marker.Style = chMarkerStylePlus
NEWCHART.SeriesCollection(3).Marker.Size = 10
If POSBOOK(I) = 1 Then
NEWCHART.SeriesCollection(3).Interior.Color = RGB(117, 170, 219)
Else
NEWCHART.SeriesCollection(3).Interior.Color = RGB(242, 132, 17)
End If
'................................................................................................
End With
End If
Next I
End Sub