Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1876to1880
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 aus zwei Tabellenblätter
11.04.2022 21:14:35
Frank
Hallo,
ich lasse mir mittels VBA ein Säulendiagramm aus einem Tabellenblatt generieren, hier werden die Verbräuche von Strom Erdgeschoss dargestellt (Tabellenblatt: TabStromEG und Daten aus Spalte E).
Hier habe ich auch eine Sonderfunktion eingebaut, mit welcher ich über eine bestimmte Zelle die Anzahl der anzuzeigenden Daten bestimmt werden kann, z.B. nur die letzten drei Jahre anzeigen oder alle angelegten Jahre anzeigen.
Funktioniert auch alles soweit, nur möchte ich nun aus einem anderen Tabellenblatt (TabStromOG) die gleichen Daten mit den Daten aus TabStromEG in einem Diagramm gruppieren.
Auch soll hier die Funktion vorhanden sein, die anzuzeigenden Jahre selbst bestimmen zu können.
Wie kann dieses am einfachsten erweitert werden?
Hier der Code für das Diagramm für TabStromEG:

Sub DiaStromNZBearbeiten()
Dim AnzahlJahre As Integer
Dim LR As Long
Dim lngAnzahlEG As Long
Dim lngAnzahlOG As Long
Dim lngLauf As Long
Dim lngZeile As Long
Dim blnAlle As Boolean
If blnStart Then
blnStart = False
Exit Sub
End If
lngAnzahlEG = Worksheets("Einstellungen").Range("B14")
lngAnzahlOG = Worksheets("Einstellungen").Range("B16")
'Anzahl Jahre EG überprüfen
With Sheets("Einstellungen")
AnzahlJahre = WorksheetFunction.CountIf(Sheets("TabStromEG").Columns(2), "Nein")
If AnzahlJahre = "0" Then
Exit Sub
End If
End With
With Sheets(TB2)
.Columns("F:XFD").EntireColumn.Hidden = False 'ausgeblendete Spalten einblenden
LR = .Cells(.Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte A
LC = .Cells(1, .Columns.Count).End(xlToLeft).Column 'letzte Spalte der Zeile 1
If .AutoFilterMode Then .AutoFilterMode = False 'Autofilter ausschalten
.Cells(2, LC + 2).Resize(LR - 1, 1).FormulaR1C1 = "=IF(AND(RC5=""""),""X"","""")"
.Cells(1, LC + 2) = "#TMP#"
.Columns(LC + 2).AutoFilter Field:=1, Criteria1:="=" 'Nur Leere anzeigen
If lngAnzahlEG > .AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Count + 1 Then
lngZeile = 2
blnAlle = True
Else
For lngZeile = LR To 2 Step -1
If .Rows(lngZeile).RowHeight > 0 Then lngLauf = lngLauf + 1
If lngLauf = lngAnzahlEG Then Exit For
Next lngZeile
End If
Charts("DiaStromNZ").PlotVisibleOnly = True 'Ausgeblendete Zeilen weglassen
If Charts("DiaStromNZ").FullSeriesCollection.Count = 0 Then
Charts("DiaStromNZ").SeriesCollection.NewSeries
Charts("DiaStromNZ").SeriesCollection.NewSeries
End If
Charts("DiaStromNZ").FullSeriesCollection(1).XValues = Worksheets(TB2).Range("$A$" & lngZeile & ":$A$" & LR) '.SpecialCells(xlCellTypeVisible)
Charts("DiaStromNZ").FullSeriesCollection(1).Values = Worksheets(TB2).Range("$E$" & lngZeile & ":$E$" & LR) '.SpecialCells(xlCellTypeVisible)
Charts("DiaStromNZ").FullSeriesCollection(2).Values = Worksheets(TB3).Range("$E$" & lngZeile & ":$E$" & LR) '.SpecialCells(xlCellTypeVisible)
End With
End Sub
Viele Grüße, Frank.

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

Betreff
Datum
Anwender
Anzeige
Bitte Beispielmappe hochladen - o.w.T.
12.04.2022 09:26:26
Beverly
Bis später
Karin

AW: Bitte Beispielmappe hochladen - o.w.T.
12.04.2022 10:04:41
Frank
https://www.herber.de/bbs/user/152424.xlsm
Im Code von DiaStromNZ wurde erste Tabelle (TabStromEG) voll integriert, nur die zweite Tabelle (TabStromOG) muss noch integriert werden.
Vielen Dank, Gruß Frank.
Wo ist das Problem?
12.04.2022 10:21:24
Beverly
Hi Frank,
füge dem Diagramm einfach 2 weitere Datenreihen hinzu und weise ihnen den jeweiligen Datenbereich zu - genau so wie du das für die ersten 2 Datenreihen ausführst, nur eben bezogen auf das andere Tabellenblatt.
Bis später
Karin

Anzeige
AW: Wo ist das Problem?
12.04.2022 10:32:57
Frank
Hallo Karin,
ich benötige eigentlich keine weiteren zwei Datenreihen, eine Reihe für TabStromEG und eine für TabStromOG.
Die Anzahl der Datenreihe StromOG kann auch noch nicht durch die Einstellungen (Filter) verringert werden und das Datum wird bisher auch nur von TabStromEG bezogen.
Im Grunde wurde TabStromOG noch nicht voll integriert so wie TabStromEG...
Viele Grüße. Frank.
Unklare Problembeschreibung...
12.04.2022 11:02:02
Beverly
Hi Frank,
...sorry, aber ich verstehe leider nicht was du machen willst - wenn es keine weiteren 2 Datenreihen sein sollen, was soll es dann sein? Erstelle das Diagramm doch einfach mal von Hand, damit man sehen kann, wie es letztendlich aussehen soll. Und beschreibe daran, worin das Problem besteht, dies in VBA umzusetzen.
Bis später
Karin

Anzeige
AW: Unklare Problembeschreibung...
12.04.2022 11:11:04
Frank
Hallo Karin,
ich versuche mal das erste Problem nochmals genauer zu beschreiben:
Das Diagramm in der Beispielmappe schaut eigentlich schon so aus wie es sein sollte, aber die Sonderfunktion die anzuzeigende Datensätze bei StromOG wird hier nicht beeinflusst. In den Einstellungen (Button unten rechts in der UserForm) wird mir die max. Anzahl der Datensätze angezeigt und man kann hier die Anzahl der Datensätze verringern wenn man z.B. nur die letzten 5 von 50 im Diagramm dargestellt haben möchte.
Dieses Funktioniert soweit auch bei StromEG, allerdings noch nicht bei StromOG.
Schau dir bitte mal den Code im Modul6 an, evtl. wird das Problem für dich dann ersichtlicher.
Es sollen die Anzahl der dargestellten Datensätze von StromEG UND StromOG separat beeinflusst werden können...
Gruß Frank
Anzeige
AW: Unklare Problembeschreibung...
12.04.2022 12:15:07
Beverly
Hi Frank,
du hast 11 !!!! UserForms in deiner Mappe. Da wäre eine genau Angabe um welche es sich handelt, schon hilfreich gewesen - oder meinst du nicht?...
Ich verstehe nicht wo dein Problem ist: die Daten für die eine Datenreihe begrenzt du doch bereits - für die 2. Datenreihe benötigst du das nicht, denn wenn beim Achsenbeschriftungsbereich der 1. Datenreihe ein Zellbereich drinsteht, braucht bei der zweiten (und allen weiteren) Datenreihe(n) bei deinem Diagrammtyp unter der Auswahl kein Zellbereich stehen. Für beide Datenreihen werden jeweils 3 Datenpunkte (Säulen) dargestellt, was doch so auch korrekt ist - oder sehe ich das falsch? Was Excel bei der 2. Datenreihe als Achsenbeschriftung anzeigt, ist also irrelevant - wenn es das ist was dich irritiert.
Bis später
Karin

Anzeige
AW: Unklare Problembeschreibung...
12.04.2022 12:31:26
Frank
Hallo Karin,
ich möchte das das jede Datenreihe, also auch die die zweite Datenreihe, begrenzt werden kann.
Beispiel: wenn erste Datenreihe 3 Datenpunkte und zweite Datenreihe 10 Datenpunkte hat werden trotzdem nur drei Säulen im Diagramm dargestellt weil "nur" die erste Datenreihe begrenzt wird.
Folglich wäre es doch sinnvoll das jede Datenreihe separat begrenzt werden kann, oder verstehe das falsch?
Und deshalb bräuchte ich auch das Datum (Achsbeschriftung) von der zweiten Datenreihe, denn wenn wie in meinem zuvor genannten Beispiel 3 Datenpunkte von Datenreihe 1 mit Datum (Achsbeschriftung) und 10 Datenpunkte von Datenreihe 2 ohne Achsbeschriftung dargestellt werden fehlen mir doch von den letzten 7 Datenpunkte aus Datenreihe 2 die Achsbeschriftung (die ersten 3 Achsbeschriftungen stammen ja folglich aus Datenreihe 1).
Anzeige
AW: Unklare Problembeschreibung...
12.04.2022 14:32:37
Beverly
Hi Frank,
Frage: was soll das denn aussagen, wenn für eine Datenreihe 3 und die andere 5 Datenpunkte angezeigt werden bei gleicher Anzahl an Daten? Oder geht es darum, dass eine unterschiedliche Anzahl an Daten vorhanden ist?
Mit folgendem Code weist du den Datenreihen ihre Zellbereiche zu:

Charts("DiaStromNZ").FullSeriesCollection(1).XValues = .... 
Was wäre denn die logische Code-Ergänzung, um der 2. Datenreihe den Bereich für die X-Werte zuzuwesen?
Bis später
Karin

Anzeige
AW: Unklare Problembeschreibung...
12.04.2022 14:56:36
Frank
Hallo Karin,
je genau, es ist durchaus möglich das unterschiedliche Anzahl von Daten bei Datenreihe 1 und Datenreihe 2 vorhanden sind deshalb versuche ich ja die zwei Datenreihen unabhängig voneinander zu behandeln, d.h. für jede Datenreihe soll die mögliche bzw. die gewünschte Anzahl von Datenpunkten im Diagramm mit dem dazugehörigen Datum berücksichtigt werden.
Keine Ahnung wie ich es sonst noch beschreiben könnte das das Problem ersichtlich ist...
Gruß Frank.
Hast du meinen Beitrag...
12.04.2022 16:10:37
Beverly
Hi Frank,
...nicht bis zuende gelesen? Die Lösung habe ich dir doch sozusagen "unter die Nase gerieben"... ;-)
Übrigens: du musst nichts weiter beschreiben - genau das hättest du nämlich bereits zu Anfang schreiben sollen, dann hätten wir uns die ganzen Beiträge zwishendurch sparen können.
Bis später
Karin

Anzeige

318 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige