Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1452to1456
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
Inhaltsverzeichnis

Breite des Diagramms durch Zelleingabe ändern

Breite des Diagramms durch Zelleingabe ändern
14.10.2015 15:40:16
Mohnkuh
Hallo an alle,
ich habe ein bisher für mich unlösbares Problem...
Ich habe ein "Punktdiagramm mit interpolierten Linien" anhand einer Reihe von Daten erstellt. Nun geht es darum, die Linienbreite, die ich im Fenster "Datenreihen formatieren" eingeben kann, in eine Zelle eingeben zu können, sodass diese dann übernommen wird.
Habe mich schon viel eingelesen, und habe (glaube ich) herausgefunden, dass man das mit VisualBasic machen kann. Leider sind meine Kentnisse bei VisualBasic gleich null.
Kann mir jemand weiterhelfen, wie das zu realisieren ist?
Vielen Dank im Vorraus.
Viele Grüße,
Ben

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Da fehlen ein paar wesentliche Infos...
14.10.2015 16:14:17
Michael
Hallo Ben!
Mittels VBA die Linienstärke Deines Diagramms zu verändern ist kein Problem. Günstig ist es allerdings in so einem Fall gleich ein Beispiel der entsprechenden Arbeitsmappe/Tabelle hochzuladen, damit Dir bezogen auf Deine Situation eine passende Lösung angeboten werden kann.
Bspw. könntest Du uns mitteilen:
- Wie ist das Diagramm angelegt? Als eigenes Blatt oder Diagramm-Objekt in einem Tabellenblatt?
- Wenn in einem Tabellenblatt: Liegen da noch andere Diagramm-Objekte?
- In welcher Zelle soll der Wert für die Blattbreite eingetragen werden?
- Soll sich die Linien-Breite immer aktualisieren, wenn die Zelle geändert wird? Oder soll die Breiten-Änderung anders angestoßen werden? Wodurch?
Du siehst - da ist es fast leichter uns eine Tabelle hochzuladen, die Deinen Verhältnissen entspricht (natürlich keine echten Daten o.Ä, einfach zufällige Bsp-Daten). Denn nachdem Du angibst, VBA gar nicht zu kennen/können, hilft Dir ein Code-Brocken wenig, wenn Du ihn nicht anpassen kannst.
LG
Michael

Anzeige
AW: Da fehlen ein paar wesentliche Infos...
14.10.2015 16:44:39
Mohnkuh
Hallo Michael,
ich probiere es mal in Textform, da die Excel wirklich sehr groß ist. Wenn es nicht klappt, werde ich eine "kleine" Version meines Vorhabens hochzuladen...
- Das Diagramm ist auf dem ersten Blatt, welches ist "Diagramm" genannt habe. Das Diagramm selbst heißt "Diagramm 3". Die Linienstärke soll auf dem Blatt "Einstellung" in Zelle "D9" eingetragen werden
- Ja es liegen vier Diagramme auf dem ersten "Diagramm"-Blatt. Die Linienstärken aller vier Diagramme soll mit Zelle "D9" auf dem "Einstellung"-Blatt verändert werden können.
- Die Linienbreite soll sich automatisch nach ändern des Werts aktualisiert werden
Sag mir doch grad, ob man damit etwas bewerkstelligen kann, ansonsten lade ich etwas hoch...
Bedanke mich schonmal vielmals...
Viele Grüße
Ben

Anzeige
AW: Da fehlen ein paar wesentliche Infos...
14.10.2015 16:47:10
Mohnkuh
Nochmal zu den vier Diagrammen. Das war nicht gut von mir ausgedrückt...
Es ist nur ein Diagramm, indem vier Datenreihen enthalten sind.

Exceldatei
15.10.2015 11:31:46
Mohnkuh
Hallo nochmal,
ich habe eine abgespeckte Excel-Datei eingefügt.
Unter dem Blatt "Einstellung" soll nun in "D11" die Breite des Diagramms eingestellt werden, welche nach Eingabe des Werts automatisch im Blatt "Diagramm" übernommen werden soll. Es soll sowohl für das rote, wie auch für das schwarze Diagramm übernommen werden.
Wenn noch etwas fehlt bitte ich um kurze Information.
https://www.herber.de/bbs/user/100805.xlsx
Viele Grüße,
Ben

Anzeige
AW: Ist so lösbar, komme nur aktuell nicht dazu...
15.10.2015 12:55:10
Michael
Ben,
daher stell Dich auf offen - ansonsten kann ich nach dem Wochenende wieder in den Faden schauen!
LG
Michael

AW: Ist so lösbar, komme nur aktuell nicht dazu...
15.10.2015 13:03:54
Mohnkuh
Alles klar,
dann warte ich ein wenig... Vllt kann sich jemand in der Zwischenzeit meinem Problem annehmen.
VG
Ben

AW: Exceldatei
15.10.2015 16:55:30
Beverly
Hi Ben,
kopiere folgenden Code ins Codemodul des Tabellenblattes "Einstellungen":
Private Sub Worksheet_Change(ByVal Target As Range)
Dim bytReihe As Byte
If Target.Cells(1).Address(False, False) = "D11" Then
If IsNumeric(Target.Cells(1)) Then
With Worksheets("Diagramm").ChartObjects(1).Chart
For bytReihe = 1 To 2
With .SeriesCollection(bytReihe).Format.Line
.Visible = msoTrue
.Weight = Target.Value
End With
Next bytReihe
End With
End If
End If
End Sub


Anzeige
AW: Exceldatei
15.10.2015 19:12:57
Mohnkuh
Hallo Karin,
vielen lieben Dank. Es hat alles funktioniert.
Liebe Grüße,
Ben

AW: Exceldatei
16.10.2015 11:25:50
Mohnkuh
Hallo nochmal,
ich habe noch eine kleine Frage:
Wenn sich der Wert "D11" anhand einer Formel berechnet, wird dieser nicht im Diagramm übernommen. Kann ich irgendwie den Code abändern, sodass der Wert trotzdem übernommen wird?
Vielen Dank.
Viele Grüße,
Ben

AW: Exceldatei
16.10.2015 14:45:35
Beverly
Hi Ben,
wenn sich D11 aus einer Formel berechnet, dann müssen die Zellen überwacht werden, auf die sich die Formel bezieht und nicht D11.


Anzeige
AW: Exceldatei
16.10.2015 15:32:28
Mohnkuh
Aha, ich verstehe. Dann scheint das aber sicherlich komplizierter zu sein...
"D11" ergibt sich folgendermaßen:
=WENN(E17<=1;D27;D27*E17-(D27*(E17-1)*(2*E19*SIN(2*PI()/360*E21/2)/SIN(2*PI()/360*(90-E21/2))) /100)) *2,83465
In alle angegebenen Zellen werden nun die Werte per Hand eingetragen.
Wenn ich nun das in dem Code anstelle des "D11" eintrage funktioniert das ganze nicht mehr...
Sorry für die Formel ;) Bekommt man das irgendwie noch gelöst?
Vielen Dank,
Ben

AW: Exceldatei
16.10.2015 19:41:31
Beverly
Hi Ben,
ändere die Zeile so
    If Not Intersect(Target.Cells(1), Union(Range("D27"), _
Range("E17"), Range("E19"), Range("E21"))) Is Nothing Then


Anzeige
AW: Exceldatei
16.10.2015 15:42:24
Mohnkuh
Aha, ich verstehe. Dann scheint das aber sicherlich komplizierter zu sein...
"D11" ergibt sich folgendermaßen:
=WENN(E17<=1;D27;D27*E17-(D27*(E17-1)*(2*E19*SIN(2*PI()/360*E21/2)/SIN(2*PI()/360*(90-E21/2))) /100)) *2,83465
In alle angegebenen Zellen werden nun die Werte per Hand eingetragen.
Wenn ich nun das in dem Code anstelle des "D11" eintrage funktioniert das ganze nicht mehr...
Sorry für die Formel ;) Bekommt man das irgendwie noch gelöst?
Vielen Dank,
Ben

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige