Blasendiagramm füllen

Bild

Betrifft: Blasendiagramm füllen
von: Isolde
Geschrieben am: 21.09.2015 18:53:36

Liebe VBA – Experten!
Ich bin auf der Suche nach einem Makro mit dem ich automatisch Blasendiagramme füllen kann (keine neuen erstellen).
Spalte B8 bis letzter Wert von B: Name der Blase
Spalte C8 bis letzter Wert von C: X-Werte
Spalte D8 bis letzter Wert von D: Y-Werte
Spalte F8 bis letzter Wert von F: Größe der Blase.
Das Makro soll automatisch starten sobald das Arbeitsblatt geöffnet wird. In dem Arbeitsblatt befinden sich mehrere Makros mit jeweils unterschiedlichen Bezugsbereichen. Wichtig ist, dass kein neues Diagramm entsteht, sondern ein bestehendes gefüllt wird.
Meine derzeitigen Versuche waren ein Flopp  Deshalb hoffe ich sehr auf eure Hilfe!
Vielen Dank im Voraus!

Bild

Betrifft: AW: Blasendiagramm füllen
von: Beverly
Geschrieben am: 22.09.2015 08:37:09
Hi Isolde,
zeichne den Code mit dem Makrorekorder auf.




Bild

Betrifft: AW: Blasendiagramm füllen
von: Isolde
Geschrieben am: 22.09.2015 12:58:58
Hallo Karin,
ich habe in mehreren Threads gelesen, dass das beim Blasendiagramm nicht möglich ist. Und wie kann ich mit dem Makrorekorder bewirken, dass die letzte gefüllte Zelle das Ende ist?
Lg,
Irina

Bild

Betrifft: AW: Blasendiagramm füllen
von: Isolde
Geschrieben am: 22.09.2015 12:59:41
Hallo Karin,
ich habe in mehreren Threads gelesen, dass das beim Blasendiagramm nicht möglich ist. Und wie kann ich mit dem Makrorekorder bewirken, dass die letzte gefüllte Zelle das Ende ist?
Lg,
Irina

Bild

Betrifft: AW: Blasendiagramm füllen
von: Beverly
Geschrieben am: 22.09.2015 13:49:06
Hi Irina,
mein Markorekorder zeichnet folgendes auf (Daten befinden sich im Bereich E1:G5):

Sub Makro1()
'
' Makro1 Makro
'
'
    Range("E1:G5").Select
    Selection.Copy
    ActiveSheet.ChartObjects("Diagramm 1").Activate
    ActiveChart.Paste
End Sub

Den Code kann man selbstverständlich bearbeiten und auch die letzte belegte zeile berücksichtigen:
Sub Makro1()
    Dim lngLetzte As Long
    lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 5)), _
        Cells(Rows.Count, 5).End(xlUp).Row, Rows.Count)
    Range(Cells(1, 5), Cells(lngLetzte, 7)).Copy
    ActiveSheet.ChartObjects(1).Chart.Paste
    Application.CutCopyMode = False
End Sub



Bild

Betrifft: AW: Blasendiagramm füllen
von: Isolde
Geschrieben am: 22.09.2015 14:54:14
Hallo Karin,
beim ersten Code bekomme ich einen Fehler und beim Zweiten funktioniert es auch nicht :/
Lg

Bild

Betrifft: AW: Blasendiagramm füllen
von: Werner
Geschrieben am: 22.09.2015 15:47:05
Hallo Isolde (Irina),
ich kann dir zwar nicht weiter helfen aber zwei Hinweise.
1. Mit deinen Aussagen ....bekomme ich einen Fehler bzw. ...funktioniert auch nicht wird Karin bestimmt viel anfangen können - nämlich nichts. --welcher Fehler wo im Code bzw. was funktioniert nicht--
2. Solltest du den Beitrag offennstellen -- Kästchen obenn rechts neben dem Passwort Annalen.
Gruß Werner

Bild

Betrifft: AW: Blasendiagramm füllen
von: Beverly
Geschrieben am: 22.09.2015 16:02:35
Hi Irina,
kann ich nicht nachvollziehen - beide funktionieren korrekt.
https://www.herber.de/bbs/user/100323.xlsm




Bild

Betrifft: AW: Blasendiagramm füllen
von: Isolde
Geschrieben am: 22.09.2015 18:08:00
Hallo Karin,
habe deine Datei ausprobiert und bekomme folgende Fehlermeldungen:
1. Makro:
"Die Methode „Paste“ ist für das Objekt „Chart“ fehlgeschlagen"
Die letzte Zeile wird markiert.
2. Makro:
"Anwendungs- oder Objektdefinierter Fehler"
Markiert wird die vorletzte Zeile.
Lg

Bild

Betrifft: AW: Blasendiagramm füllen
von: Werner
Geschrieben am: 22.09.2015 18:19:39
Hallo,
kann es sein, dass dein Diagramm nicht auf dem aktiven Tabellenblattes liegt?
Gruß Werner

Bild

Betrifft: AW: Blasendiagramm füllen
von: Isolde
Geschrieben am: 22.09.2015 18:51:17
Hi,
hmm...ich habe ja einfach deine Datei geöffnet und die Makros über die Buttons aktiviert und die hat ja nur ein Tabellenblatt :/
lg

Bild

Betrifft: AW: Blasendiagramm füllen
von: Beverly
Geschrieben am: 22.09.2015 20:09:49
Hi,
kann ich nicht nachvollziehen - der Code funktioniert auch in Excelversionen vor 2007. Es kann also nicht an der Excelversion liegen.
Es gibt aber noch andere Möglichkeiten - z.B.:

Sub Makro3()
     Dim lngLetzte As Long
     Dim rngBereich As Range
     lngLetzte = IIf(IsEmpty(Cells(Rows.Count, 5)), _
         Cells(Rows.Count, 5).End(xlUp).Row, Rows.Count)
     Set rngBereich = Range(Cells(1, 5), Cells(lngLetzte, 7))
     ActiveSheet.ChartObjects(1).Chart.SetSourceData Source:=rngBereich
     Set rngBereich = Nothing
 End Sub



Bild

Betrifft: AW: Blasendiagramm füllen
von: Isolde
Geschrieben am: 22.09.2015 21:34:45
Es funktioniert! Vielen Dank! :)
Werde es morgen früh mal außerhalb der Testumgebung probieren :)
Lg

Bild

Betrifft: AW: Blasendiagramm füllen
von: Isolde
Geschrieben am: 23.09.2015 08:16:28
Hallo Karin,
das Makro funktioniert soweit gut, außer dass keine Spalte für die Namen der einzelnen Datenreihen berücksichtigt wird :/ Ich brauche eine Legende mit den Namen im Diagramm.
Lg

Bild

Betrifft: AW: Blasendiagramm füllen
von: Beverly
Geschrieben am: 23.09.2015 08:26:53
Hi,
dann solltest du mal deine Mappe hochladen.




 Bild

Beiträge aus den Excel-Beispielen zum Thema "Blasendiagramm füllen"