ich bin ein Neuling in VBA Programmierung und stehe im Moment vor einem Problem,
dass ich bisher nicht lösen konnte. Ich würde mich sehr freuen, wenn mir hier jemand weiterhelfen würde.
Es geht um eine Tabelle mit Messwerten, die ständig erweitert wird. Jetzt möchte ich, dass auf der UserForm bei jeder neuen Messwerteingabe in einem Frame ein entsprechend aktualisiertes Diagramm angezeigt wird. Das Diagramm soll hierbei lediglich die letzten 35 Messungen anzeigen!
Für das Diagramm wird das Datum (Spalte A) und der Meßwert (Spalte C) verwendet.
Im Folgenden sehr ihr meinen aktuellen Stand:
Private Sub Frame3_Click() 'RAHMEN-Darstellung Diagramm
Dim MyChart As Chart 'Deklaration MyChart als Chart / Diagramm
Dim ChartData_1 As Range 'Deklaration Chartdata als Bereich der C _
Spalte
Dim ChartName As String 'Deklaration ChartName als Text
Dim XValues As Date 'Deklaration der X Werte als Datum
'Chloridwerte in Spalte C
Set ChartData_1 = Sheets("Data").Range("C3:C38")
Application.ScreenUpdating = False
Set MyChart = Sheets("Data").Shapes.AddChart(xlLine).Chart 'Diagramm soll _
Liniendiagramm sein
'Zuordnung der darzustellenden Daten
'Serie 1: Chloridwerte aus Spalte C d.h. ChartData_1
MyChart.SeriesCollection.NewSeries 'Diagramm bekommt _
Serie 1 zugewiesen
MyChart.SeriesCollection(1).Name = ChartName
MyChart.SeriesCollection(1).Values = ChartData_1 'Werte der Serie 1 = _
ChartData_1
MyChart.SeriesCollection(1).XValues = Sheets("Data").Range("A3:A38") 'Die zu Serie 1 gehö _
rigen X-Werte
MyChart.SeriesCollection(1).Select 'Seie 1 wird ausgewä _
hlt
Selection.Border.ColorIndex = 3 'Linienfarbe rot(=3) _
zugewiesen
'Weitere Diagrammformatierung
With MyChart.ChartArea 'Chartgrösse
.Height = 290
.Width = 550
.Left = 0
.Top = -50
End With
With MyChart.ChartArea 'Hintergrundfarbe
.Format.Fill.ForeColor.RGB = RGB(188, 188, 188)
End With
MyChart.ChartArea.Format.TextFrame2.TextRange.Font.Size = 5 'Größe der _
achsbeschriftung
MyChart.Legend.Select 'Löscht Legende
Selection.Delete 'Löscht Legende
Dim imageName As String
imageName = Application.DefaultFilePath & Application.PathSeparator & "TempChart.gif"
MyChart.Export Filename:=imageName
Sheets("Data").ChartObjects(1).Delete
Application.ScreenUpdating = True
UserForm2.Frame3.Picture = LoadPicture(imageName)
End Sub
Vielen Dank für eure Hilfe!
André