Hallo zusammen,
ich bekomme bei meinem Makro die Fehlermeldung "Nicht genügend Speicher für eine vollwertige Anzeige".
Das Makro erstellt aus vorhandenen Messwerten Diagramme. Anscheinend habe ich zu viele Messwerte, das das Makro bei weniger Werten funktioniert.
Hat jemand eine Idee, wie ich es trotzdem hinbekomme?
Bei 10 Reihen mit je 115.000 Spalten funktioniert es noch.
Bei 10 Reihen mit je 550.000 Spalten nicht mehr.
Vielen Dank im Voraus.
'Erstellen der Diagramme
Private Sub Diagramme()
Dim Messwerte As Integer, AktChart As Chart, lz1 As Long
Dim Top, Links As Integer, Höhe As Integer, Weite As Integer
Sheets.Add
ActiveSheet.Name = "Diagramme"
Worksheets("Werte bereinigt").Activate
Sheets("Diagramme").Select
lz1 = Sheets("Werte bereinigt").Cells(Rows.Count, 1).End(xlUp).Row
'Charts Anordnung auf dem Bildschirm selbst einstellen!!
Links = 100 'bitte selbst einstellen
Weite = 500 'bitte selbst einstellen
Höhe = 500 'bitte selbst einstellen
Top = 50 '1. Anordnung für Diagramm
'Diagramme erstellen pro Messwert
For Messwerte = 1 To Sheets("Werte bereinigt").Cells(5, 16).Value
'Sheets.AddChart2(Style,XlChartType,Left,Top,Width,Height,NewLayout)
Set AktChart = ActiveSheet.ChartObjects.Add(Links, Top, Weite, Höhe).Chart
AktChart.ChartType = xlLine
With AktChart
.HasTitle = True
.ChartTitle.Characters.Text = Sheets("Werte bereinigt").Cells(2, Messwerte + 2).Text
'.ChartTitle.Text = "Messwert " & Messwerte
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = Sheets("Werte bereinigt").Range("$M$11:$M$" & lz1)
.SeriesCollection(1).Name = "Werte unbereinigt"
.SeriesCollection(1).Values = Sheets("Werte bereinigt").Range("$C$11:$C$" & lz1).Offset(0, Messwerte - 1)
.SeriesCollection.NewSeries
.SeriesCollection(2).Name = "Werte bereinigt"
.SeriesCollection(2).Values = Sheets("Werte bereinigt").Range("$C$11:$C$" & lz1).Offset(0, Messwerte - 1)
.Axes(xlCategory, xlPrimary).TickLabels.NumberFormat = "DD.MM.YYYY"
End With
Top = Top + Höhe + 20 '** Abstand 20
Next Messwerte
End Sub
|