Guarda il controllo MsChart è piuttosto semplice
Questo è un codice di esempio per creare un chart mettendoci i dati dentro.
Ti crei un array di dimensione (i, j) dove i è il numero massimo di colonne che vuoi avere e j è il numero dei campi diminuito di 1.
Poi con un codice tipo questo lo popoli ed è fatta
Questo codice di esempio, serve per popolare un grafico con 2 campi e max 5 colonne:
codice:
Dim arr(5, 1) As Variant

Private Sub PopolaGrafico()
Data1.Recordset.MoveFirst
MsgBox Data1.Recordset.RecordCount
For i = 0 To Data1.Recordset.RecordCount - 1
arr(i, 0) = Data1.Recordset("Val1")
arr(i, 1) = Data1.Recordset("Val2")
Data1.Recordset.MoveNext
Next i
MSChart1.ChartData = arr
End Sub
Secondo me è molto più comodo ed elegante che creare un foglio di Excel. Eventualmente a fianco puoi mettere pure una Combobox per cambiare dinamicamente la visualizzazione (a barre, a torta, ecc)