Ciao stefano91,
Devi usare il controllo MSChart che è associato a una griglia di dati (oggetto DataGrid), ovvero una tabella che contiene i dati in base ai quali verrà tracciato il grafico. La griglia di dati può includere anche etichette che identificano le serie e le categorie del grafico. Ti posto un esempio (estratto di una parte) che ho usato quale base per il calcolo del tasso di rendimento interno di un progetto:
codice:
Dim AnnoCH1 As String
Dim AnnoCH2 As String
Dim AnnoCH3 As String
Dim AnnoCH4 As String
Dim AnnoCH5 As String
'Tipo di Grafico:
FrmTIR.MSChartTIR.chartType = VtChChartType2dCombination
'Anni del piano:
AnnoCH1 = FrmTIR.TxtAnno1TIR.Text
AnnoCH2 = FrmTIR.TxtAnno2TIR.Text
AnnoCH3 = FrmTIR.TxtAnno3TIR.Text
AnnoCH4 = FrmTIR.TxtAnno4TIR.Text
AnnoCH5 = FrmTIR.TxtAnno5TIR.Text
'Dichiara la matrice e Imposta le etichette degli Anni:
Dim arrData(5, 1 To 5)
arrData(1, 1) = ". " & (AnnoCH1)
arrData(2, 1) = ". " & (AnnoCH2)
arrData(3, 1) = ". " & (AnnoCH3)
arrData(4, 1) = ". " & (AnnoCH4)
arrData(5, 1) = ". " & (AnnoCH5)
'3^ Serie 1° - 5° anno Saldi di periodo / 1.000.000:
arrData(1, 2) = (Ctr(FrmTIR.Txt55T.Text) / 1000000)
arrData(2, 2) = (Ctr(FrmTIR.Txt56T.Text) / 1000000)
arrData(3, 2) = (Ctr(FrmTIR.Txt57T.Text) / 1000000)
arrData(4, 2) = (Ctr(FrmTIR.Txt58T.Text) / 1000000)
arrData(5, 2) = (Ctr(FrmTIR.Txt59T.Text) / 1000000)
'1^ Serie 1° - 5° anno Entrate / 1.000.000:
arrData(1, 3) = (Ctr(FrmTIR.Txt1T.Text) / 1000000)
arrData(2, 3) = (Ctr(FrmTIR.Txt2T.Text) / 1000000)
arrData(3, 3) = (Ctr(FrmTIR.Txt3T.Text) / 1000000)
arrData(4, 3) = (Ctr(FrmTIR.Txt4T.Text) / 1000000)
arrData(5, 3) = (Ctr(FrmTIR.Txt5T.Text) / 1000000)
'2^ Serie 1° - 5° anno Uscite per Investimenti e gestione / 1.000.000:
arrData(1, 4) = (Ctr(FrmTIR.Txt49T.Text) / 1000000)
arrData(2, 4) = (Ctr(FrmTIR.Txt50T.Text) / 1000000)
arrData(3, 4) = (Ctr(FrmTIR.Txt51T.Text) / 1000000)
arrData(4, 4) = (Ctr(FrmTIR.Txt52T.Text) / 1000000)
arrData(5, 4) = (Ctr(FrmTIR.Txt53T.Text) / 1000000)
'Matrice Visual Basic per caricare direttamente la griglia dati del grafico:
FrmTIR.MSChartTIR.ChartData = arrData
'Imposta la legenda:
With FrmTIR.MSChartTIR
'.Title = "TIR"
.ChartData = arrData
.ColumnCount = 3
.ColumnLabelCount = 3
.Column = 1
.ColumnLabel = "Saldi"
.Column = 2
.ColumnLabel = "Entrate"
.Column = 3
.ColumnLabel = "Uscite"
.Refresh
.Legend.Location.LocationType = VtChLocationTypeCustom
.Legend.VtFont.Style = VtFontStyleBold
FrmTIR.MSChartTIR.Plot.AutoLayout = False
.Legend.Location.Rect.min.X = 5573
.Legend.Location.Rect.min.Y = 75
.Legend.Location.Rect.max.X = 8760
.Legend.Location.Rect.max.Y = 331
.Footnote.Location.LocationType = VtChLocationTypeCustom
End With
Naturalmente il codice di cui sopra lo devi adattare alle tue esigenze.