Forum des VBA-Tutorials

Daten automatisch in Diagram anpassen (VBA)

legac @, Montag, 27. November 2017, 16:57 (vor 17 Tagen)

Hallo Zusammen,

ich habe ein Kleins Problem bei VBA Programmierung.
ich will mittels VBA ein Diagramm automatisch anpassen wenn man andere Quellendaten auswählt.
der Auswahl der Daten erfolgt in VBA durch Filterung.
hier das Code dazu:

 
 
Private Sub ComboBox2_Change()
actWsh = Worksheets("GUI").ComboBox3.Text
 
Call Makro3
 
   letztezeile = Worksheets(actWsh).Cells(Rows.Count, 2).End(xlUp).Row
   Worksheets("GUI").Shapes.AddChart2(201, xlColumnClustered).Select
   ActiveChart.SetSourceData Source:=Sheets(actWsh).Range("B1:L" & (letztezeile + 1))
 
 
End Sub
 

das Problem liegt darin, das der Code immer bei jedem neuen Auswahl (also ausführen von "makro3") einen neuen Diagramm erzeugt.
ich will aber dass die Daten immer in der Selben Diagramm angepasst werden.

freue mich auf eure Anregungen und bedanke ich mich im Voraus für eure Hilfe

Daten automatisch in Diagram anpassen

Martin Asal, Dienstag, 28. November 2017, 11:32 (vor 17 Tagen) @ legac

Hallo Legac,

dein Code fügt jedesmal ein neues Chart hinzu. Wahrscheinlich existiert es aber schon und hat auch einen Namen? Dann solltest du es über die Name-Eigenschaft ansprechen:

Worksheets("GUI").Shapes("MyName").Select

Oder noch besser, du machst aus den letzten zwei Zeilen eine:

Worksheets("GUI").Shapes("MyName").SetSourceData Source:=Sheets(actWsh).Range("B1:L" & (letztezeile + 1))
 
 


Martin

Daten automatisch in Diagram anpassen

Legac @, Dienstag, 28. November 2017, 17:09 (vor 16 Tagen) @ Martin Asal

Hallo Martin,

vielen Dank für die Antwort.
leder bekomme ich eine Fehlermeldung wenn ich die Zeile anpasse.
Fehlermeldung 438 (Objekt unterstützt diese Eigenschaft oder Methode nicht)

 
 
   letztezeile = Worksheets(actWsh).Cells(Rows.Count, 2).End(xlUp).Row
   Worksheets("GUI").Shapes("Diagramm 7").Select
   Worksheets("GUI").Shapes("Diagramm 7").SetSourceData Source:=Sheets(actWsh).Range("B1:L" & (letztezeile + 1))
 
 

weißt du vllt woran es liegt?

Grüße

Legac

Daten automatisch in Diagram anpassen

Martin Asal, Dienstag, 28. November 2017, 20:31 (vor 16 Tagen) @ Legac

Wenn es funktionieren würde, wäre die mittlere Zeile unnötig ;-) Aber zum Testen ist es jetzt mal ganz gut: Welche Zeile genau produziert denn den Fehler?

Ein genereller Tipp zum debuggen: Versuche auch mal, den Code nicht per Copy&Paste zu übernehmen, sondern so richtig zu tippen - am Besten alles in Kleinbuchstaben. Eigentlich müsste Intellisense dir ja nach jedem Punkt eine Auswahlliste anzeigen. Selbst wenn nicht, müsste beim Verlassen der Zeile die Groß/Kleinschreibung automatisch korrigiert werden.

OK, ich gebe zu, das mit dem Tippen bringt dich hier wahrscheinlich nicht weiter. Ist mehr so allgemein.

Martin

Daten automatisch in Diagram anpassen

legacys @, Dienstag, 28. November 2017, 21:17 (vor 16 Tagen) @ Martin Asal

Hallo Martin,

danke für den Tipp :-)

die Fehlermeldung wird beim letzten Zeile ausgegeben.
ich habe's auch ohne die mittlere Zeile ausprobiert. die selbe Fehlermeldung wird ausgegeben.

Grüße

Legac

Daten automatisch in Diagram anpassen

Martin Asal, Dienstag, 28. November 2017, 21:33 (vor 16 Tagen) @ legacys

Na ja, dann nutze eben weiter deine ursprüngliche Version, und ändere nur die mittlere Zeile:

Worksheets("GUI").Shapes("Diagramm 7").Select

Müsste reichen, um zum gewünschten Ergebnis zu kommen.

Das mit der letzten Zeile sollte einfach den Code vereinfachen. Keine Ahnung, woran es liegt, aber bin jetzt auch zu faul zum suchen ;-)

Martin

Daten automatisch in Diagram anpassen

Legac @, Mittwoch, 29. November 2017, 10:05 (vor 16 Tagen) @ Martin Asal

Hallo Martin,

Danke dir. es hat funktioniert :)

viele Grüße

Legac

RSS-Feed dieser Diskussion
powered by my little forum