Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
296to300
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
296to300
296to300
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Diagramm !

Diagramm !
19.08.2003 12:40:22
Eddie
Hallo, Zusammen,
finde noch immer keine Lösung für mein Problem. Möchte ein Makro machen, um Diagramme zu aktualisieren, nachdem (beliebig viele) neue Zeilen hinzugekommen sind. Die relevanten Daten stehen in Spalte D, G und in T,U,V. Mein Makro:

Sub Makro1()
' Neue Werte Diagramm hinzufügen (Diagrammaktualisierung)
Dim letzte As Integer
letzte = Range("A65536").End(xlUp).Row
Sheets("Dia_Paste1").Select
ActiveChart.SeriesCollection.Extend Source:=Sheets("Daten").Range _
("D" & letzte, "V" & letzte), Rowcol:=xlColumns, CategoryLabels:=False
End Sub

Das Makro haut nicht ganz hin. Es wird nur die letzte Zeile hinzugefügt und außerdem wird D (Rubrikenachsenbeschriftung) nicht angezeigt. Wäre für Hilfe wirklich sehr dankbar.
Gruß
Ed

24
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm !
19.08.2003 12:53:31
Megatron (Jens)
Hallo Ed,
nur mal als Ansatz (mögliche Variante):
Hinterlege auf Deinem Blatt irgendwo die letzte Zeile nach der letzten Aktualisierung.
Während der aktualisierung fragst Du wie oben bei Dir ab und läßt dann eine Schleife von "Eintrag im Blatt mit letzter Zeile" bis zu "letzte durchlaufen". Dabei müssten dann alle neuen Zeilen hinzugefügt werden.
Schleifenbeispiele müsstest Du hier genügend finden.
Vie Spass beim Basteln!
Gruß
Jens

AW: Diagramm !
19.08.2003 12:57:37
Eddi
Hallo, Jens,
bitte konkreter, bin kein Excel-Profi ! Was meinst Du mit hinterlegen ? Und was für eine Schleife soll ich da verwenden ?
Gruß
Ed

Anzeige
AW: Diagramm !
19.08.2003 13:04:55
Megatron (Jens)
Hallo Ed,
Du ließt die letze Zeile ja aus.
Diesen Wert trägst Du irgendwo in Deinem Blatt ein:
z.B. Cells(1, 1) = letzte
Beim nächsten mal ließt Du diese Zelle wieder aus.
bisherletzte = Cells(1,1)
Jetzt eine Schleife (such mal in der Recherche)
prinzipiell von i=bisherletzte bis letze
Viel Spass beim Basteln!
Gruß
Jens

AW: Diagramm !
19.08.2003 13:48:24
Eddi
Vielleicht bin ich doof, aber ich blicke nicht, was das Ganze soll ...

AW: Diagramm !
19.08.2003 14:09:12
Megatron (Jens)
Der Sinn ist eine Ergänzung der Zeilen die neu sind, so wie Du es wolltest.
Das ablegen der bisher letzten Zeile ist notwendig, da Du das sonst nirgens speichern kannst. Du kannst keine Variable in VBA programmieren, die bis zum nächsten Neustart erhalten bleibt.
Hier aber eine gestestete Variante:
ActiveChart.SetSourceData Source:=Sheets("Tabelle1").Range("A1:C" & letze), PlotBy _
:=xlColums
(kann auch xlRows)
Wenn Du das bei dir ersetzt wird er jedesmal den Datenbereich neu anpassen.
Für die Beschriftung musst Du dann noch etwas in der Art:
ActiveChart.SeriesCollection(1).XValues = "=Tabelle1!Z1S1:Z10S1"
einfügen. Dies muss für jede Reihe kopiert werden:
also:
ActiveChart.SeriesCollection(2).XValues = "=Tabelle1!Z1S1:Z10S1"
usw.
Hoffe das hilft Dir weiter.
Wenn noch Probleme auftreten wäre es hilfreich, wenn Du die Art des Diagramms etc. angeben würdest.
Gruß
Jens

Anzeige
Test !
19.08.2003 14:33:15
Eddi
Also, jetzt bin ich aber total am Ende,
hbe es getestet, nur scheint er ein Problem mit dem Diagramm zu haben. Ich habe ein Liniendiagramm und er fügt jetzt 20 neue Reihen ein, bzw. wenn ich xlRows verwende macht er irgendetwas anderes. Ich glaube, es ist besser ich schick dir die Datei mal, weil viel kann zur Lösung nicht mehr fehlen ...
Gruß

AW: Test !
19.08.2003 14:49:25
Megatron (Jens)
Schau Dir mal die unteren Beitrag von Thomas an.
Das ist für dich glaube ich einfacher - und wahrscheinlich zweckmäßiger.
Ich befürchte ich habe mal wieder zu kompliziert gedacht!
Gruß
Jens

Anmerkung !
19.08.2003 12:58:55
Megatron (Jens)
Mir ist noch ein Fehler aufgefallen!
ActiveChart.SeriesCollection.Extend Source:=Sheets("Daten").Range _
("D1", "V" & letzte), Rowcol:=xlColumns, CategoryLabels:=False
Hiermit werden alle Reihen verwendet.
Mit meiner anderen Variante könntest Du aber (um das ganze zu beschleunigen) nur die neuen nehmen.
Gruß
Jens

Anzeige
AW: Anmerkung !
19.08.2003 13:19:31
Megatron (Jens)
Das war unsinn!
Dies würde nur mit einer veränderten Variante fuktionieren:
ActiveChart.SetSourceData Source:=Sheets(1).Range("A1:X" & letzte)
(ungetestet und Du musst die Buchstaben nochanpassen)
Hiermit legst Du den Datenbereich Deines Diagramms fest, während Du mit der anderen Variante eine einzelne (deswegen benötigst Du sonst auch eine Schleife) Zeile hinzufügst.
Sorry, hätte erst richtig lesen sollen.
Gruß
Jens

AW: Anmerkung !
19.08.2003 13:33:35
Eddi
Hallo,
nochmal eine kurze Zusammenfassung, nicht das der Überblick verloren geht.
Drei Datensätze sind vorhanden. Mit dem Makro:
---------------------------------------------------------
' Neue Werte Diagramm hinzufügen (Diagrammaktualisierung)
----------------------------------------------------------
Dim letzte As Integer
letzte = Range("A65536").End(xlUp).Row
Sheets("Dia_Paste1").Select
ActiveChart.SeriesCollection.Extend Source:=Sheets("Daten").Range _
("D6:V" & letzte), Rowcol:=xlColumns, CategoryLabels:=False
End Sub
Aktualisiert er: =(Daten!$G$6:$G$8;Daten!$G$6:$G$10).
Ich glaube das Problem wäre gelöst, wenn der erste Teil gelöscht werden würde und er aktualisieren würde: = Daten!$G$6:$G$10
Das Problem ist D, da es sich hier um eine Achsbeschriftung handelt. Vermutlich muss man das irgendwie seperat aktualisieren.
Gruß und Danke für die Hilfe.
Ed

Anzeige
AW: Diagramm !
19.08.2003 12:54:43
ChrisL
Hi Ed
Angenommen deine letzte Zeile ist 100, dann definierst du den Tabellenbereich als D100:V100 also nur die eine Zeile. Vermutlich sollte es etwa so lauten...
ActiveChart.SeriesCollection.Extend Source:=Sheets("Daten").Range _
("D1:V" & letzte), Rowcol:=xlColumns, CategoryLabels:=False
N.b. falls dein Datenbereich mehr als 33000 Zeilen haben kann solltest du als long deklarieren.
Gruss
Chris

AW: Diagramm !
19.08.2003 13:04:29
Eddi
Hi, Chris,
habe es versucht, er aktualisiert aber völligen Quatsch ...
Gruß
Ed

AW: Diagramm !
19.08.2003 13:09:43
ChrisL
Hi Ed
Deine Fehlerbeschreibung hilft mir leider nicht weiter.
Gruss
Chris

Anzeige
AW: Diagramm !
19.08.2003 13:19:30
Eddi
Hallo, Chris,
ich glaube das Problem ist, dass schon drei Zeilen (von D6: D8; G6:G8 und T6:V6) als Ursprungsdiagramm vorhanden sind. Ich habe mir unter Diagramme die Datenquelle angesehen. Er fügt folgendes an: =(Daten!$G$6:$G$8;Daten!$G$6:$G$10) !!!
Das Problem existiert bei allen (also G,T,U,V). D ist die Beschriftung der Rubrikenachse, da fügt er überhaupt nichts hinzu.
Gruß
Ed

AW: Diagramm !
19.08.2003 13:32:19
Eddi
Hallo,
nochmal eine kurze Zusammenfassung, nicht das der Überblick verloren geht.
Drei Datensätze sind vorhanden. Mit dem Makro:
---------------------------------------------------------
' Neue Werte Diagramm hinzufügen (Diagrammaktualisierung)
----------------------------------------------------------
Dim letzte As Integer
letzte = Range("A65536").End(xlUp).Row
Sheets("Dia_Paste1").Select
ActiveChart.SeriesCollection.Extend Source:=Sheets("Daten").Range _
("D6:V" & letzte), Rowcol:=xlColumns, CategoryLabels:=False
End Sub
Aktualisiert er: =(Daten!$G$6:$G$8;Daten!$G$6:$G$10).
Ich glaube das Problem wäre gelöst, wenn der erste Teil gelöscht werden würde und er aktualisieren würde: = Daten!$G$6:$G$10
Das Problem ist D, da es sich hier um eine Achsbeschriftung handelt. Vermutlich muss man das irgendwie seperat aktualisieren.

Gruß und Danke für die Hilfe.
Ed

Anzeige
AW: Diagramm !
19.08.2003 13:36:12
ChrisL
Hi Ed
Extend erweitert, aber der Vorschlag von Jens scheint mir OK.
Gruss
Chris

AW: Diagramm !
19.08.2003 13:55:40
Eddi
Vielleicht bin ich etwas naiv, aber kann man den ersten Teil der Datenquelle nicht irgendwie durch einen Befehl eleminieren. Wie gesagt, kenne mich nicht so gut aus mit VBA und suche eine schnelle, wenig komplexe Lösung.
Die Geschichte von Jens verstehe ich ehrlich gesagt nicht so richtig ...
Gruß
ED

AW: Diagramm !
19.08.2003 13:58:19
ChrisL
Es war der andere Hinweis von Jens den ich gemeint habe...
SetSourceData
statt
Extend
Ansonsten musst du halt vielleicht mal die Datei anfügen.
Gruss
Chris

Anzeige
Fehlermeldung !
19.08.2003 14:16:23
Eddi
Hi,
sorry, das ich so nerve. Habe jetzt das Extend weggelassen und es mit SetSourceData probiert. Er bringt aber eine Fehlermeldung bei Rowcol:=xlColumns. Soll ich die Passage rausschmeißen ???
' Neue Werte Diagramm hinzufügen (Diagrammaktualisierung)
Dim letzte As Integer
letzte = Range("A65536").End(xlUp).Row
Sheets("Dia_Paste1").Select
ActiveChart.SetSourceData Source:=Sheets("Daten").Range _
("D6:V" & letzte), Rowcol:=xlColumns, CategoryLabels:=False
End Sub
Gruß
Ed

AW: Diagramm !
19.08.2003 14:22:25
th.heinrich
sorry,
dass ich mich einmische, aber habt Ihr schon daran gedacht.
http://www.excelformeln.de/tips.html?welcher=9
gruss thomas

Anzeige
AW: Diagramm !
19.08.2003 14:39:43
Megatron (Jens)
Hallo Thomas,
stimmt da hatte ich wirklich nicht dran gedacht!
Gruß
Jens

AW: Diagramm !
19.08.2003 14:50:11
Eddi
Hört sich gut an, werde ich mal versuchen ...
Gruß
Ed

Beispieldatei !
19.08.2003 15:00:43
Eddi
Hi,
gibt es dazu irgendwo eine Beispieldatei, dass man mal sehen kann, wie das mit der Namensvergabe funktioniert ???
Gruß
Ed

AW: Beispieldatei !
19.08.2003 15:15:43
th.heinrich
hallo Ed,
mir wurde im Forum so geholfen, leider kann ich nicht mehr finden von wem.
https://www.herber.de/bbs/user/640.xls
falls im Forum nicht alles rueberkommt, dann per mail.
gruss thomas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige