Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1712to1716
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
Diagramm mit vba erstellen
02.10.2019 14:13:45
Lutz
Hallo, ich versuche mittels VBA ein Diagramm zu generieren und komme nicht weiter. Wenn ich das mit dem Macrorecorder aufnehmen, dann ist das OK, aber wenn ich den Code nach vba kopiere läuft nicht mehr viel. Eigentlich ist meine Aufgabe ganz einfach: Ich habe eine Spalte A mit Datumswerten und eine Spalte B mit Messwerten. In der jeweils ersten Zeile steht die Spaltenüberschrift. Ich möchte nun ein Diagramm erstellen, in dem auf der x-Achse die Datumswerte sind und in dem auf der y-Achse die Messwerte sind. Nach längerer Suche habe ich einen Code gefunden, der vielversprechend aussieht, aber nicht zum Laufen zu kriegen ist. Vielleicht hat jemand hier im Forum eine Idee. Der Code lautet:
diagramm.SetSourceData Worksheet("Tabelle4").Range("Tabelle4!$A:$A;Tabelle4!$B:$B")
Besten Dank für die Hilfe.

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Was ist der Grund für VBA ? (owT)
02.10.2019 14:23:58
EtoPHG

AW: Diagramm mit vba erstellen
02.10.2019 14:41:27
Daniel
Hi
Diagramme vollständig mit VBA zu generieren, ist ziemlich aufwendig und komplex.
einfacher ist es ggf, das Diagramm normal von Hand zu erstellen und dann nur noch wirklich notwendigen Anpassungen per Code durchzuführen.
Gruß Daniel
AW: Diagramm mit vba erstellen
02.10.2019 14:45:58
Philipp
Hi Daniel,
hier mal "quick and dirty":
ActiveSheet.Shapes.AddChart2(227, xlLineStacked).Select
ActiveChart.SetSourceData Source:=Range("'" & ActiveSheet.Name & "'!$A$1:$B$" & Range("B1").End(xlDown).Row)
Viele Grüße,
Philipp
...und was soll Daniel damit? (owT)
02.10.2019 14:55:48
EtoPHG

AW: Diagramm mit vba erstellen
02.10.2019 16:08:06
Philipp
Hallo Lutz,
sollte eigentlich direkt an Dich, nicht an Daniel... (wer lesen kann...)
Hier mal "quick and dirty":
ActiveSheet.Shapes.AddChart2(227, xlLineStacked).Select
ActiveChart.SetSourceData Source:=Range("'" & ActiveSheet.Name & "'!$A$1:$B$" & Range("B1").End(xlDown).Row)
Viele Grüße,
Philipp
Anzeige
AW: Diagramm mit vba erstellen
03.10.2019 13:55:43
Beverly
Hi Lutz,
das kannst du ganz einfach so realisieren:
Sub DiaErstellen()
Dim lngLetzte As Long
Dim diagramm As Chart
With Worksheets("Tabelle4")
lngLetzte = .Range("A1").End(xlDown).Row
Set diagramm = .ChartObjects.Add(50, 50, 250, 150).Chart
diagramm.ChartType = xlXYScatterLines  '


AW: Diagramm mit vba erstellen
03.10.2019 13:56:07
Beverly
Hi Lutz,
das kannst du ganz einfach so realisieren:
Sub DiaErstellen()
Dim lngLetzte As Long
Dim diagramm As Chart
With Worksheets("Tabelle4")
lngLetzte = .Range("A1").End(xlDown).Row
Set diagramm = .ChartObjects.Add(50, 50, 250, 150).Chart
diagramm.ChartType = xlXYScatterLines  '


Anzeige
AW: Diagramm mit vba erstellen
07.10.2019 08:40:00
Lutz
Hallo, vielen Dank an die Forumsteilnehmer, die mir auf meine Anfrage geantwortet haben. Da ich über das lange Wochenende im Kurzurlaub war, kann ich erst heute antworten. Also sorry, wenn ich nicht zeitnah geantwortet habe. Philipp's Lösung läuft und bei Karin bekomme ich im Diagramm nur einen Messwert angezeigt, das liegt (so vermute ich) an der Variablen lngLetzte, die nur den Wert 2 annimmt und nicht alle Messwertzeilen. Zu Philipp's Lösung hätte ich noch eine Frage: Kann man die Spalte B allgemeiner halten. Die Spalte A beinhaltet immer die Datumsdaten und diese ist für alle Diagramme gleich, nur meine jetzige B-Spalte kann auch mal C, D, ... sein, da ich mehrere Messspalten habe.
Ich habe versucht den Code umzustellen, aber das klappt nicht: diagramm.SetSourceData Source:=Range("'" & ActiveSheet.Name & "'!$A$1:$(column(i)$" & Range((cells(1,i)).End(xlDown).Row). Was ist hier falsch. Im voraus schon einmal Danke für die Antworten. Gruß Lutz
Anzeige
AW: Diagramm mit vba erstellen
07.10.2019 08:54:15
Beverly
Hi Lutz,
ich weiß ja nicht wie deine Mappe aussieht, aber bei mir läuft der Code problemlos. Wenn die Variable lngLetzte 2 anzeigt, dann ist bei dir Spalte A leer.
https://www.herber.de/bbs/user/132367.xlsm


AW: Diagramm mit vba erstellen
07.10.2019 10:11:04
Lutz
Hallo Karin,
ja Du hast recht. Bei meiner Tabelle ist mir in der ersten Spalte (A1) die Spaltenüberschrift "abhanden" gekommen (Zeile war leer)und deshalb lief es bei mir nicht. Sorry.
Hättest Du noch eine Idee, wie ich verschiedene Spalten auswählen kann. In Deinem Code ist der Bereich von cells(1,1) bis cells(lngLetzte,2) ausgewählt, um das Diagramm zu zeichnen. Ginge auch, dass ich Spalte A mit einer beliebigen Spalten z.B. D kombiniere, sprich einzelne Spalten auswähle und keinen "nebeneinander" liegenden Bereich?
Anzeige
AW: Diagramm mit vba erstellen
07.10.2019 10:29:49
Beverly
Hi Lutz,
gewiss lässt sich das realisieren - es fragt sich nur: WIE soll die Spalte ausgewählt werden? Mal als Beispiel mit einer InputBox, in die der Spaltenbuchstabe (für die Spalte mit den Y-Werten) eingetragen werden kann:
Sub DiaErstellen()
Dim lngLetzte As Long
Dim diagramm As Chart
Dim varSpalte As Variant
Dim rngBereich As Range
varSpalte = Application.InputBox("Bitte Spaltenbuchstabe eintragen", _
"Spaltenauswahl", , , , , , 2)
If Not IsNumeric(varSpalte) Then
With Worksheets("Tabelle4")
lngLetzte = .Range("A1").End(xlDown).Row
Set rngBereich = Union(.Range(.Cells(1, 1), .Cells(lngLetzte, 1)), _
.Range(.Cells(1, varSpalte), .Cells(lngLetzte, varSpalte)))
Set diagramm = .ChartObjects.Add(50, 50, 250, 150).Chart
diagramm.ChartType = xlXYScatterLines  '


Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige