Diagramme in VBA
21.01.2005 09:34:55
Alexander
Ich habe folgendes Problem:
Ich habe Daten in einer externen Datei.
Diese Daten möchte ich in Excel als Liniendiagramm anzeigen. Es sind aber zu viele um sie in ein Tabellenblatt einzufügen.
Deshalb möchte ich die Daten mit VBA in ne Variable einlesen und dann direkt als Diagramm ausgeben. Das funktioniert aber nicht, weil die SetSourceData-Methode zwingend ein Range-Objekt haben möchte.
Kann mir da jemand helfen?
Danke schon mal im Voraus!
Ich hab bis jetzt folgenden Code:
Sub ShowWave()
Dim data As String
data = OpenWave
Charts.Add
With ActiveChart
.ChartType = xlLine
.SetSourceData (data)
.Location Where:=xlLocationAsObject, Name:="HexCode"
.HasAxis(xlCategory, xlPrimary) = True
.HasAxis(xlValue, xlPrimary) = True
.Axes(xlCategory, xlPrimary).CategoryType = xlAutomatic
.Axes(xlCategory).HasMajorGridlines = True
.Axes(xlCategory).HasMinorGridlines = False
.Axes(xlValue).HasMajorGridlines = True
.Axes(xlValue).HasMinorGridlines = False
.HasLegend = False
.HasDataTable = False
End Sub
Function OpenWave() As String
Dim waveFile, wav, dataStream
Sound = Application.GetOpenFilename("Alle Dateien (*.*),*.*,Wave-Dateien (*.wav),*.wav", 2, "Datei öffnen...")
If Sound = "Falsch" Then
Msg = MsgBox("Keine Datei gewählt. Vorgang abgebrochen.", vbOKOnly, "Keine Datei")
Exit Function
End If
Set wav = CreateObject("Scripting.FileSystemObject")
Set waveFile = wav.GetFile(Sound)
Set dataStream = waveFile.OpenAsTextStream(1, 0)
OpenWave = dataStream.Read(waveFile.Size)
End Function