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

Glatte Linien im Diagramm per VBA

Glatte Linien im Diagramm per VBA
25.06.2008 15:07:00
Tom
Hallo,
ich aktualisiere und erstelle mit diesem Auszug aus meinem Script ein Diagramm....
With wksDiag
'Datenbereich des Diagramms
Set objBereich = .Range(.Cells(ZeileDiag1, 2), .Cells(.Cells(.Rows.Count, 2).End(xlUp).Row, _
.Cells(ZeileDiag1, .Columns.Count).End(xlToLeft).Column))
End With
'Datenbereich des Diagramms aktualisieren
Set objChart = Charts("Diagramm")
With objChart
.SetSourceData Source:=objBereich
End With
Jetzt ändern sich aber auf Grund von hinzukommenden oder weggefallenen Daten die Graphen vom Diagramm. Ursprünglich sollen alle Graphen
Glatte Linien haben
Keine Markierungen haben
und 1 Stufe dicker als normal
Wenn ich das jetzt per Hand im Diagramm einstelle und speichere....später aber wieder was an den Werten ändere und das Diagramm neu erstelle....ist es wieder wie vorher....
Also nix mit meinen glatten Linien und dem Rest....
Wie kann ich denn mittels VBA die Graphen so gestallten wie ich das will? Ich hab zwar gesucht aber nicht wirklich was Brauchbares gefunden. Erschwerend kommt ja hinzu, dass die Anzahl der Graphen schwankt...je nach Datenmenge...
Jemand ne Idee?
Der Tom

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Glatte Linien im Diagramm per VBA
25.06.2008 16:42:00
Beverly
Hi Tom,
du kannst doch schon bei der Erstellung des Diagramms den betreffenden Diagrammuntertyp auswählen. Zeichne das mit dem Makrorekorder auf und binde es in deinen Code ein.


AW: Glatte Linien im Diagramm per VBA
26.06.2008 09:19:00
Tom
Die Idee ist zwar gut....leider nur zu gebrauchen wenn man sich auf ein bestimmten Graph bezieht.
Wenn ich das per Marcorec mache, dann selectiere ich ja nur einen einzigsten Graph....jetzt könnte ich zwar für alle 46 Graphen machen....um dann wieder ein Problem zu haben, wenn nur 30 angezeigt werden sollen. Dann gibts Fehlermeldungen ohne ende.... Also so gehts nicht...
Also stellt sich immer noch die Frage wie ich alle möglich auftretenden Graphen entweder makieren kann oder eben wie ich auf alle möglichen Graphen die gewünschten Änderungen vornehmen kann.
Der Tom

Anzeige
AW: Glatte Linien im Diagramm per VBA
26.06.2008 16:59:00
Beverly
Hi Tom,
und was spricht dagegen, eine Schleife über alle Datenreihen zu machen?

Sub datenreihen_formatieren()
Dim inReihen As Integer
With Charts("Diagramm1")
For inReihen = 1 To .SeriesCollection.Count
With .SeriesCollection(inReihen)
.MarkerBackgroundColorIndex = xlNone
.MarkerForegroundColorIndex = xlNone
.MarkerStyle = xlNone
.Smooth = True
End With
Next inReihen
End With
End Sub




AW: Glatte Linien im Diagramm per VBA
27.06.2008 08:56:46
Tom
Geht nicht....
erscheint die Fehlermeldung 1004
Eigenschaften des Serienobjekts kann nicht festgelegt werden.
Bei einem Graphen geht das, ab dem 2 Graph streikt er...
Der Tom

Anzeige
AW: Glatte Linien im Diagramm per VBA
27.06.2008 11:26:00
Beverly
Hi Tom,
ich kenne deine Arbeitsmappe nicht, deshalb kann ich nicht sagen, weshalb es bei dir nicht funktionert. Schau dir die angehängte Beispielmappe an: dort wurde das Diagramm mit diesem Code formatiert und lässt sich auch wieder zurücksetzen (mit dem 2. Code) - und alles ohne Fehlermeldung.
https://www.herber.de/bbs/user/53402.xls


AW: Glatte Linien im Diagramm per VBA
30.06.2008 11:24:54
Tom
Hallo Karin!
Vielen Dank bisher! - Ich habe Dein Anhang getestet und ja es geht....sehr gut sogar. Leider und das ist immer noch mein Problem, gehts in meinem Projekt nicht!
Ich weis nicht genau warum, aber ich denke es wird damit was zu tuen haben wie ich das Diagramm erstelle. Aber so sicher bin ich mir nicht, da meine VB-Kenntnisse etwas bescheiden sind.
So ich habe mal alles Datenschutzproblematische aus meinem Projekt entfernt, so dass ich das auch mal als Anhang mitschicken kann. Einige Dinge sind mit Schreibschutz versehen, welcher sich aber mit "0815" als Passwort öffnen lässt. Die 0815 gilt auch bei sonstigen Passwortfragen.
Ich würde dich bitten, dir mal das Blatt "Einstellungen" anzusehen. Da gibt es einen Button "Zeige Diagramm jetzt an" - Da würde ich gern Deinen Vorschlag mit unterbringen. Rechts kannst du die anzahl der Graphen auswählen....na ja ist ja alles selbsterklärend...einfach Step 1 bis 6 ansehen.
https://www.herber.de/bbs/user/53464.zip
Ich danke Dir schon mal im voraus für Deine Unterstützung!
Der Tom

Anzeige
AW: Glatte Linien im Diagramm per VBA
30.06.2008 14:32:15
Beverly
Hi Tom,
der Code für den Button sieht dann so aus

Private Sub CommandButton2_Click()
Dim inReihen As Integer
With Charts("Diagramm")
For inReihen = 1 To .SeriesCollection.Count
With .SeriesCollection(inReihen)
.MarkerBackgroundColorIndex = xlNone
.MarkerForegroundColorIndex = xlNone
.MarkerStyle = xlNone
.Smooth = True
End With
Next inReihen
End With
Sheets("Diagramm").Activate
End Sub




AW: Glatte Linien im Diagramm per VBA
30.06.2008 15:02:00
Tom
K L A S S E !!!!
Ja SUPER ! Das freut mich riesig! Das geht!!! Ich schnall zwar nich nicht ganz was ich falsch gemacht habe...Aber es geht.
Also letztendlich könntest du mir sagen was da nicht gehen konnte? - Warum ich da scheiterte? (Man will ja dazulernen)
Ach und dann gleich noch eine Frage hintendrann...
Wenn ich jetzt nicht nur die Linien glatt haben möchte, sondern auch etwas dicker als der Standart, dann würde ich das doch so machen.
With Selection.Border
.Weight = xlMedium
End With
Wie bau ich das noch mit in die Formel ein?
Der Tom

Anzeige
AW: Glatte Linien im Diagramm per VBA
30.06.2008 15:23:02
Beverly
Hi Tom,
dies ist dein gesamter Code für den betreffenden CommandButton:

Private Sub CommandButton2_Click()
Sheets("Diagramm").Activate
End Sub


Es fehlte also der gesamte Teil mit der Formatierung.
Damit die Linien dicker gezeichnet werden, musst du in der With...End With Anweisung nur diese Zeile ergänzen


.Border.Weight = xlMedium




AW: Glatte Linien im Diagramm per VBA
30.06.2008 15:29:00
Tom
Schmunzel....
Ja klar...das ist mir klar gewesen....:-)
Nein ich meinte, warum es nicht ging, als ich das ganze als Modul mit dem Verweis eines Buttons auf das Modul eingerichtet hatte. Ich hatte ja einfach nur ein Button genommen, Dein Script in ein Modul gepackt und dann zugewiesen....
Button gedrückt = Fehlermeldung.... mhh
P.S. Habs eingebaut...funzt!
Der Tom

Anzeige
AW: Glatte Linien im Diagramm per VBA
30.06.2008 20:49:00
Beverly
Hi Tom,
so ganz weiß ich nicht, was du meinst. Ein Makro, welches in einem Modul steht, kann man einem CommandButton "zuweisen", indem man den Makronamen in die Prozedur des CommandButton schreibt

Private Sub CommandButton2_Click()
datenreihen_formatieren
Sheets("Diagramm").Activate
End Sub




AW: Glatte Linien im Diagramm per VBA
01.07.2008 08:14:00
Tom
Ja, soweit klar, nur das genau das so nicht funktionierte.....so wie jetzt aber schon ? Deswegen versteh ich ja nicht so ganz, warum es jetzt geht....aber mit dem Modul nicht....
Na zumindest geht es jetzt...Das ist ja die Hauptsache.
Der Tom
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige