Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Laufzeit bei Änderung von Diagrammpunkten zu lange

Laufzeit bei Änderung von Diagrammpunkten zu lange
13.02.2007 10:12:00
Diagrammpunkten
Hallo!
Mein Problem ist Folgendes:
Da Excel ansich kein eigenes Diagramm zur Darstellung eines Portfolios (Diagramm mit Einzeichnung der Punkte aufgrund von x- und y-Koordinaten) bietet, verwende ich ein Punktdiagramm. Da ich in diesem Portfolio weiters zwei verschiedene Punkttypen eintragen möchte, bearbeite ich nach Erstellung des Diagramms jeden Punkt und gebe ihm je nach Inhalt des Kennzeichens eine bestimmte Form und eine bestimmte Farbe.
Das funktioniert auch soweit recht gut, allerdings dauert das bei ca. 400 Punkten schon fast eine Minute!
Hat vielleicht jemand eine Idee, wie ich den folgenden Code "schneller" machen könnte?

Sub PortfolioOhneBeschr()
'Erstellt Portfolio ohne Beschriftung
Dim Punkt As Point
Dim i As Integer
Sheets("Portfolio").Select
ActiveChart.ApplyDataLabels AutoText:=True, LegendKey:=False, _
HasLeaderLines:=False, ShowSeriesName:=False, ShowCategoryName:=False, _
ShowValue:=False, ShowPercentage:=False, ShowBubbleSize:=False
i = 1
With ActiveChart.SeriesCollection(1)
For Each Punkt In .Points
If i > Worksheets("HBM-Entwicklung").Range("Y3") Then
Exit For
End If
If Worksheets("Daten f HBM-Entwicklung").Cells(i + 1, 8) = "NC" Then
Punkt.MarkerStyle = xlMarkerStyleDiamond
Punkt.MarkerBackgroundColor = RGB(0, 100, 255)
Punkt.MarkerForegroundColor = RGB(0, 100, 255)
Else
Punkt.MarkerStyle = xlMarkerStyleCircle
Punkt.MarkerBackgroundColor = RGB(0, 0, 0)
Punkt.MarkerForegroundColor = RGB(0, 0, 0)
End If
i = i + 1
Next Punkt
End With
End Sub

Danke schon mal und liebe Grüße
Anjelo

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeit bei Änderung von Diagrammpunkten zu lange
13.02.2007 10:56:00
Diagrammpunkten
Hallo nochmal!
Ich musste jetzt den Code nochmal ändern, weil ich die Punkte auch noch verschieden beschriften möchte und ich unter Verwendung von Punkt. den Text nicht ändern konnte. Die Laufzeit hat sich dadurch allerdings leider nicht geändert.
Ich hoffe also immer noch auf Eure Hilfe!
Der neue Code sieht so aus:

Sub PortfolioMitBeschr()
'Erstellt Portfolio mit Kurzname
Dim i As Integer, j As Integer, k As Integer
Sheets("Portfolio").Select
ActiveChart.ApplyDataLabels AutoText:=True, LegendKey:=False, _
HasLeaderLines:=False, ShowSeriesName:=True, ShowCategoryName:=False, _
ShowValue:=False, ShowPercentage:=False, ShowBubbleSize:=False
j = Worksheets("HBM-Entwicklung").Range("Y3")            'Anzahl der Punkte
k = Worksheets("Selektion").Range("P5")                  'Spalte mit Beschriftung
For i = 1 To j
ActiveChart.SeriesCollection(1).Points(i).Select
If Worksheets("Daten f HBM-Entwicklung").Cells(i + 1, 8) = "NC" Then
With Selection
.MarkerStyle = xlMarkerStyleDiamond
.MarkerBackgroundColor = RGB(0, 100, 255)
.MarkerForegroundColor = RGB(0, 100, 255)
End With
Else
With Selection
.MarkerStyle = xlMarkerStyleCircle
.MarkerBackgroundColor = RGB(0, 0, 0)
.MarkerForegroundColor = RGB(0, 0, 0)
End With
End If
ActiveChart.SeriesCollection(1).Points(i).DataLabel.Select
Selection.Characters.Text = Worksheets("Daten f HBM-Entwicklung").Cells(i + 1, k)
Next i
End Sub

Liebe Grüße
Anjelo
Anzeige
AW: Laufzeit bei Änderung von Diagrammpunkten zu lange
13.02.2007 14:59:02
Diagrammpunkten
hallo Anjelo,
wenn du die "Selects" heraus nimmst,
wird es wahrscheinlich etwas schneller...
gruß Herbert
AW: Laufzeit bei Änderung von Diagrammpunkten zu lange
13.02.2007 15:34:00
Diagrammpunkten
Hallo Herbert!
Hatte ich schon versucht, wurde aber nicht wirklich schneller.
Hab aber inzwischen eine Lösung:
Am Beginn der Programms:
Application.ScreenUpdating = False
Application.EnableEvents = False
Am Ende des Programms:
Application.ScreenUpdating = True
Application.EnableEvents = True
Danke und liebe Grüße
Anjelo
AW: Laufzeit bei Änderung von Diagrammpunkten zu lange
13.02.2007 17:30:00
Diagrammpunkten
hallo Anjelo,
ich kann mir nicht vorstellen,daß du das probiert hast...
denn das bewirkt in etwa das gleiche wie "ScreenUpdating = False"
bei mir dauert es ohne Select ~12 sec
mit "ScreenUpdating = False" und mit "Select" auch ~12 sec
gruß Herbert
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige