Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1320to1324
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

Diagramm dynamische Range

Diagramm dynamische Range
19.07.2013 14:36:17
Max
Guten Tag,
ich weiß es gibt schon drölf Millionen andere Einträge zu dem Thema und die waren auch alle sehr aufschlüssig, befassen sich aber nicht mit dem Problem, wie die Range angegeben werden muss, wenn die Daten sich nicht in direkt nebeneinander befinden Spalten befindenten.
Also ich habe folgenden Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngStart   As Range
Dim intEnde    As Integer
If Target.Column = 1 Then
Set rngStart = ActiveCell
intEnde = Cells(Rows.Count, 1).End(xlUp).Row
ActiveSheet.ChartObjects("Wurst").Select
ActiveChart.SetSourceData Source:=Sheets("NV Neu 2010-2011").Range("A2:A" & intEnde, "H2:  _
_
H" & intEnde, "I2:I" & intEnde, "J2:J" & intEnde, "K2:K" & intEnde)
End If
End Sub

Die Zeile bei der ich Probleme habe ist diese:

ActiveChart.SetSourceData Source:=Sheets("NV Neu 2010-2011").Range("A2:A" & intEnde, "H2:H" &   _
_
intEnde, "I2:I" & intEnde, "J2:J" & intEnde, "K2:K" & intEnde)
Ich habe auch mal eine Beispieldatei hochgeladen. Wie muss ich denn die Range angeben, damit die Geschichte auf funktioniert?

Die Datei https://www.herber.de/bbs/user/86458.xlsm wurde aus Datenschutzgründen gelöscht


Gruß Max

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Diagramm dynamische Range
19.07.2013 15:31:58
pastinake
Hallo Max,
geht auch ohne Makro.
Übrigens gehört ein Ereignis Makro Worksheet_Change(ByVal Target As Range) auch in ein Worksheet. Du hast es im Diagramm.
Für den Datenbereich in Spalte K, Rest entsprechend anpassen:
BEREICH.VERSCHIEBEN(K3;;;ANZAHL2(A:A)-1)

AW: Diagramm dynamische Range
19.07.2013 15:51:15
Max
Hey,
danke für deine Antwort.
Ich würde es gerne per VBA machen, weil ich's die sauberere Lösung finde. Kannst du mir da helfen, wie ich die Range anpasse?
Gruß Max

AW: Diagramm dynamische Range
19.07.2013 17:07:20
pastinake
Hallo,
ich würde es so machen:

Private Sub BereichsnamenSetzen()
Dim rngBereich As Range
Set rngBereich = Tabelle8.Range("a3:a" & Cells(Tabelle8.Rows.Count, 1).End(xlUp).Row)
With rngBereich
Diagramm1.SetSourceData Union(rngBereich, _
.Offset(0, 3), _
.Offset(0, 4), _
.Offset(0, 7), _
.Offset(0, 9)), xlColumns
End With
Set rngBereich = Nothing
End Sub
Sicherstellen, dass nicht das Diagramm ausgewählt ist. Zum Beispiel beim Öffnen ein worksheet ansprechen und dann das Makro aufrufen lassen,- oder über ein Worksheet Ereignis (Nicht im Diagramm)
Gerne Feedback
/bernd

Anzeige
AW: Diagramm dynamische Range
19.07.2013 17:27:35
Max
Danke für deine Unterstützung, aber das hat das Diagramm leider nur komplett zerschossen nud zeigt die Daten jetzt nur noch in den ersten paar Monaten.
Gruß Alex

AW: Diagramm dynamische Range
19.07.2013 23:41:58
Max
Guten Abend,
bitte könnte sich noch mal jemand meines Problemes befassen. Das wäre wirklich großartig.
Gruß Max

AW: Diagramm dynamische Range
20.07.2013 09:52:47
pastinake
Hallo Max,
ich habe Dir mal Deine Datei mit meinem VBA-Ansatz geschickt :
https://www.herber.de/bbs/user/86476.xlsm
Als erstes das Ereignis Diagramm Aufruf abfangen und das entsprechende Modul aufrufen:

Private Sub Chart_Activate()
mdlDiagramm.DiagrammDatenSetzen
End Sub
Hier das Modul (mdlDiagramm.DiagrammDatenSetzen)

Sub DiagrammDatenSetzen()
Dim rngBereich As Range
With Tabelle8
.Activate
Set rngBereich = .Range("a3:a" & Cells(.Rows.Count, 1).End(xlUp).Row)
End With
With rngBereich
Diagramm1.SetSourceData Union(rngBereich, _
.Offset(0, 7), _
.Offset(0, 8), _
.Offset(0, 9), _
.Offset(0, 10)), xlColumns
End With
Diagramm1.Activate
Set rngBereich = Nothing
End Sub
Gruß
Bernd

Anzeige
AW: Diagramm dynamische Range
20.07.2013 15:46:11
Max
Hey Bernd,
Awesome!
Vielen, vielen Dank, jetzt funktioniert es traumhaft.
Gruß Max

AW: Diagramm dynamische Range
22.07.2013 10:38:48
Max
Guten Morgen Bernd und alle anderen,
ich hatte Deine Datei eigentlich ausprobiert am Samstag und es hat auch Einwand frei funktioniert. Jetzt wollte ich das gerade in meine Datei einbauchen, musste aber leider feststellen, dass das sowohl in Deiner als auch meiner nicht funktioniert, da ich entweder immer "Die Methode Range für das Objekt Worksheet ist fehlgeschlagen". Oder beim ersten Mal öffnen der Datei funktioniert es nach gut 5 Sekunden mit dem Fehler "Die Mathode SetSourceData für das Objekt ist fehlgeschlagen.
Danke für Eure Hilfe schon mal im Voraus
Gruß Max

Anzeige
AW: Diagramm dynamische Range
24.07.2013 08:30:45
Beverly
Hi Max,
im Codemodul des Diagrammblattes:
Private Sub Chart_Activate()
Dim lngLetzte As Long
With Worksheets("NV Neu 2010-2011")
lngLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, . _
Rows.Count)
ActiveChart.SetSourceData Source:=.Range(.Cells(3, 8), .Cells(lngLetzte, 11))
ActiveChart.SeriesCollection(1).XValues = .Range(.Cells(3, 1), .Cells(lngLetzte, 1))
End With
End Sub


Merci & vielen Dank!
24.07.2013 14:12:02
Max

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige