chart hat zu viele Datenpunkte - aber es sind 4 !
11.08.2008 00:13:07
Jens
ich hab hier ein Tabellenblatt "Diagramm" in einer Excel 2003 datei.
Da suche ich einen searchsting und in der Zeile wo der steht hole ich mir 4 Werte.
Mit diesem 4 Werten mache ich ein Diagramm (auf einem extra sheet)
Läuft super - in Excel 2000-2003.
In Excel 2007 kommt 2mal die Fehlermeldung "die maximale anzahl an datenpunkten ist 32000 ...."
- aber es sind doch nur 4 Datenpunkte ?
- und zu dem Zeitpunkt der ersten Fehlermeldung - bei "Set cht1 = Charts.Add" sind die Daten an sich doch noch garnicht relevant....
Bin schon ziemlich am Anschlag mittlerweile - Wer hat eine Idee zur Abhilfe ?
Besten Gruß!
jens
Sub DiagrammInUserForm()
Dim cht1 As Chart
Dim frm7 As UserForm
Dim searchstring1 As String
Dim ws7 As Worksheet
Dim c7 As Range
Dim diarange1 As Range
Set frm7 = UserForm_FWAT_results
searchstring1 = ComboBox01.Text
Set ws7 = Sheets("Diagramm")
With ws7.Range("A:A")
Set c7 = .Find(searchstring1, LookIn:=xlValues)
End With
Worksheets("Diagramm").Activate
Range("A:A").Select
Range(c7.Address).Activate ' ist "$A$3"
' Einlesen der Daten für die charts
Set diarange1 = Worksheets("Diagramm").Range(ActiveCell.Offset(rowOffset:=0, columnOffset:=1), _
ActiveCell.Offset(rowOffset:=0, columnOffset:=4))
MsgBox diarange1.Address ' ist "$B$3:$E$3"
' Chart 1 für Replikat 1
Set cht1 = Charts.Add ' hier kommt die Fehlermeldung "Die Maximale Anzahl _
von Datenpunkten pro Datenreihe: 32.000 für 2D-Diagramme..."
Application.ScreenUpdating = False
cht1.SetSourceData Source:=diarange1, _
PlotBy:=xlRows ' hier kommt die Fehlermeldung nochmal
MsgBox diarange1.Address ' ist immernoch "$B$3:$E$3"
' hier kommen nun die Formate etc dann wird ein Bild draus und das soll in eine UF kopiert _
werden
With cht1
.Type = xlXYScatter
.HasTitle = True
.HasLegend = False
.HasAxis(xlValue, xlPrimary) = True
.ChartTitle.Text = "(Replikat 1)" ' ergibt Fehler-Dieses Objekt besitzt keinen Titel
.SeriesCollection(1).MarkerSize = 10
End With
With ActiveChart.Axes(xlValue)
.HasTitle = True
.TickLabels.Font.Name = "Arial"
.TickLabels.Font.Size = 12
.TickLabels.Font.FontStyle = "Bold"
With .AxisTitle
.Caption = "Zelldichte"
.Font.Name = "Arial"
.Font.Size = 14
End With
.ScaleType = xlScaleLogarithmic ' A logarithmic scale uses base 10 logarithms.
End With
With ActiveChart.ChartArea
.Interior.ColorIndex = 50
.Border.ColorIndex = 1
End With
With ActiveChart.PlotArea
.Interior.ColorIndex = 15
.Border.ColorIndex = 15
End With
With ActiveChart.Axes(xlCategory)
.HasTitle = True
.AxisTitle.Caption = "Testdauer [Tage]"
.AxisTitle.Font.Name = "Arial"
.AxisTitle.Font.Size = 14
.TickLabels.NumberFormat = "0"
.MinimumScale = 0
.MaximumScale = 5
.MajorUnit = 1
.MinorUnit = 0.5
.TickLabels.Font.Name = "Arial"
.TickLabels.Font.Size = 12
.TickLabels.Font.FontStyle = "Bold"
End With
cht1.Export "Replikat1.gif"
With PlotReplikat1
.Picture = LoadPicture("Replikat1.gif")
'.AutoSize = True
End With
Application.DisplayAlerts = False
cht1.Delete
End Sub