Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Dynamisches Blasendiagramm
#11
Hallöchen,

hier hat sich ein Z eingeschlichen:
iZRow

das muss raus.

Dein Diagramm heißt Diagramm1?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#12
Hi,

deswegen sollte immer "Option Explicit" verwendet werden, dann wird auf solche Fehler/Vertipper hingewiesen!


Wenn ich nun wiederholt hintereinander das Makro 2 starte, dann wird der letzte Datensatz jedesmal als neuer Datensatz in das Diagramm aufgenommen (es werden also immer mehr).
Wie können wir das verhindern?
Antworten Top
#13
Hallo Ralf,

im Normalfall sollte es reichen, das Makro nach Einfügen eines Datensatzes ein mal für selbigen zu starten Smile Ansonsten könnte man das über die Datenquelle / Daten auswählen bereinigen und die zusätzliche(n) Reihe(n) entfernen.
Das tangiert übrigens auch meinen Hinweis mit dem Löschen eines Datensatzes / einer Zeile. Um derartige Aktionen abzufangen müsste man etwas mehr Arbeit in die Programmierung stecken.

Zitat:"Option Explicit"
Ja, meine Grundeinstellung ist das. Aber dann kommt immer mal 'ne Beispieldatei ohne und wenn man nicht gleich überall hin schaut ..
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#14
Hi André,

ich hatte es mir so gedacht, aber das klappt nicht:

If iRow > ActiveChart.SeriesCollection.Index Then

auch nicht mit Number statt Index.
Antworten Top
#15
Hallo Ralf,

Du kannst mit ActiveChart.SeriesCollection.Count die Anzahl der Datenreihen feststellen. Die müsste dann beim jetzigen Blattaufbau immer eins weniger sein als die letzte Datenzeile. Dann kommt keine Datenreihe dazu. Ist sie zwei weniger, kommt eine dazu. Und wenn man nun mehr als eine Datenreihe hinzufügt könnte man entweder das Makro oder Codeteile davon mehrmals laufen lassen - rekursiv oder per Schleife - oder man startet es eben mehrmals manuell.

Löschen wäre komplizierter - lösche mal die Zeile 3 Sad
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#16
hi,

so funktioniert es jetzt mal für eine hinzugefügte Reihe:
Option Explicit

Sub Makro2()
   Dim iRow%
   'letzte Zeile feststellen 
   iRow = Cells(Rows.Count, 1).End(xlUp).Row
   'Blasendiagramm aktivieren 
   ActiveSheet.ChartObjects("Diagramm 1").Activate
   'mehr Datenzeilen als Diagramm-Reihen? 
   If iRow - 1 > ActiveChart.SeriesCollection.Count Then
      'Neue Serie hinzufuegen - Mit der neuen Serie 
      With ActiveChart.SeriesCollection.NewSeries
         'Name festlegen 
         .Name = "=Tabelle1!$A$" & iRow
         'X und Y festlegen 
         .XValues = "=Tabelle1!$B$" & iRow
         .Values = "=Tabelle1!$C$" & iRow
         'Blasengroesse festlegen 
         .BubbleSizes = "=Tabelle1!$D$" & iRow
         'Ende Neue Serie hinzufuegen - Mit der neuen Serie 
      End With
   End If
End Sub
Antworten Top
#17
Vielen Dank für diese hilfreichen Tipps! Bei mir funktioniert es auch!
Ich habe jetzt nur noch ein  kleines Thema denke ich, wo ich Hilfe benötigen könnte..
Es gibt in meiner Tabelle nun schon um die 30 Themen, ohne jedoch im Blasendiagramm zu sein... Wie können diese schon in dem Diagramm dargestellt werden? Oder muss ich diese Investitionen erst einmal  alle dem Diagramm hinzufügen?

Vielen Dank und Gruß 
Lukas
Antworten Top
#18
Und noch ein Problem:D
Meine Tabelle fängt nicht in Zeile 1, sondern in Zeile 11 an...  :20:
Wie kann ich machen, dass er erst ab da die letzte Zeile sucht?
Vielen Dank
Lukas
Antworten Top
#19
Hi,

dann nimm in dieser Zeile
If iRow - 1 > ActiveChart.SeriesCollection.Count Then
die 11 als Minus noch dazu.
If iRow - 1 - 11 > ActiveChart.SeriesCollection.Count Then
Antworten Top
#20
Hallo, das hat wirklich alles bisher wunderbar funktioniert! Vielen Dank! Doch wie mache ich das jetzt mit einem Säulendiagramm? Ich habe es schon ausprobiert: Ich möchte auf der x-Achse die Namen der Investitionen angezeigt bekommen (eine Säule, eine Investition --> direkt unter der Säule soll der Name der Investition stehen). Auf der y-Achse soll dann die Investitionshöhe stehen. Wenn ich jedoch als xValue die Investitionsnamenspalte definiere, wird nur ein Name unten angezeigt, mit jedoch allen Säulen...!
Könnte mir jemand den richtigen Code nennen? 
Vielen Dank!
Lukas
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste