Der nachfolgende Code sollte so verändert werden, dass nicht das Tablbatt direkt angesprochen wird, sondern entnehme den Wert Tabblatt "Depot" aus markierter Zeile und aus Spalte E (Werte aus Spalte E sind identisch mit den Tabblatt-Namen.
Was muss ich anstelle - Sheet("HD") - im Code ändern?
"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"
MS Office 2016 Pro 32bit - Win 10 Pro 64 bit Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
leider bekomme Fehlermeldung und zwar ... "Objekt oder With-Blockvariable nicht festgelegt"
Hier mal der ganze Code
Code:
Sub Chart_neu()
Sheets("Chart-Vorschau").Visible = True
With Charts.Add
.ChartType = xlLine
.SetSourceData Source:=Sheets(Worksheets("Depot").Cells(ActiveCell.Row, 5).Value).Range("A1:A261,G1:G261")
.Location Where:=xlLocationAsObject, Name:="Chart-Vorschau"
End With
With ActiveSheet.ChartObjects(1)
.Left = 6
.Top = 6
.Width = 960
.Height = 480
End With
With ActiveChart
.HasTitle = True
.ChartTitle.Text = Sheets("Depot").Range("B16").Value & " " & "-" & " " & "Kursverlauf 1 Jahr mit 38 und 200 Tage Trendlinien"
.ChartArea.Select
.Legend.Select
Selection.Position = xlTop
.Axes(xlCategory).MajorUnitScale = xlDays
.Axes(xlCategory).MajorUnit = 7
End With
Call trendlinien
End Sub
Übrigens beim Charttitel müsste ich auch geändert haben und zwar "aktive Zeile - Wert in Spalte 2".
Grüße aus Bremen
Bernie
"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"
MS Office 2016 Pro 32bit - Win 10 Pro 64 bit Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
durch das Chart.Add ist die Tabelle nicht mehr aktiv und ein Chart hat keine Row-Eigenschaft. Ein wenig waklig ist meine Codeänderung trotzdem, da Du vor dem Charterstellen eine Tabelle einblendest und ich nicht weiß, welche Tabelle dann aktiv ist und von welcher Tabelle Du überhaupt die aktive Zeile brauchst aber versuche es mal so
Code:
Sub Chart_neu()
Dim lngRow As Long
lngRow = ActiveCell.Row
Sheets("Chart-Vorschau").Visible = True
' lngRow = ActiveCell.Row
With Charts.Add
.ChartType = xlLine
.SetSourceData Source:=Sheets(Worksheets("Depot").Cells(lngRow, 5).Value).Range("A1:A261,G1:G261")
.Location Where:=xlLocationAsObject, Name:="Chart-Vorschau"
End With
With ActiveSheet.ChartObjects(1)
.Left = 6
.Top = 6
.Width = 960
.Height = 480
End With
With ActiveChart
.HasTitle = True
.ChartTitle.Text = Sheets("Depot").Cells(lngRow, 2).Value & " " & "-" & " " & "Kursverlauf 1 Jahr mit 38 und 200 Tage Trendlinien"
.ChartArea.Select
.Legend.Select
Selection.Position = xlTop
.Axes(xlCategory).MajorUnitScale = xlDays
.Axes(xlCategory).MajorUnit = 7
Zitat:von welcher Tabelle Du überhaupt die aktive Zeile brauchst
Ich rufe von Tab "Depot" über Button das Makro auf und somit die Tabelle "Chart-Vorschau". Das Makro erstellt in Tabelle "Chart-Vorschau" mein Diagramm. Bis dahin hat alles geklappt.
Was ich variable haben wollte ist 1. "SetSourceData Source" und 2. "ChartTitle.Text".
1. Ist Tabelle "Depot" Spalte E
2. Ist Tabelle "Depot" Spalte B
...jeweils die aktive Zeile (erste Zeile ist Nr. 3 und letzte Nr. 32), wird vorher mit Mausklick markiert bevor das Makro startet.
XHTML-Tabelle zur Darstellung in Foren, einschl. der neuen Funktionen ab Version 2007
Add-In-Version 18.19 einschl. 64 Bit
Grüße aus Bremen
Bernie
"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"
MS Office 2016 Pro 32bit - Win 10 Pro 64 bit Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
(22.10.2014, 14:30)Bernie schrieb: Ich rufe von Tab "Depot" über Button das Makro auf und somit die Tabelle "Chart-Vorschau". Das Makro erstellt in Tabelle "Chart-Vorschau" mein Diagramm. Bis dahin hat alles geklappt.
Ich habe dies auf Excel 2010 und jetzt auf Excel 2007 getestet. Bei mir wird ein eigenständiges Diagrammblatt angelegt
wo kommt denn
"Index außerhalb gültigen Bereichs" ??
Als erstes vermute ich, wenn mir Excel so eine Meldung bringt, einen Fehler z.B. im Blattnamen oder Blattindex.
Der Fehler kommt also vermutlich in dieser Zeile:
.SetSourceData Source:=Sheets(Worksheets("Depot").Cells(lngRow, 5).Value).Range("A1:A261,G1:G261")
und in Spalte E ist eventuell eine leere Zelle markiert gewesen oder dort steht ein Blattname, der ein Leerzeichen zuviel hat, oder ein Schreibfehler hat sich eingeschlichen, oder ...
Das
" " & "-" & " " & "Kursverlauf 1 Jahr mit 38 und 200 Tage Trendlinien"
kannst Du übrigens zusammenziehen:
" - Kursverlauf 1 Jahr mit 38 und 200 Tage Trendlinien"
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
"Wenn du jemanden triffst ohne lächeln, schenke ihm deins !!!"
MS Office 2016 Pro 32bit - Win 10 Pro 64 bit Haftungshinweis: Trotz sorgfältiger inhaltlicher Kontrolle übernehmen ich keine Haftung für die Inhalte externer Links. Für den Inhalt der verlinkten Seiten sind ausschließlich deren Betreiber verantwortlich.
hab's gerade gefunden - im mdl_CreateChart. Dachte doch, das wäre dem Button zugeordnet ...
Wenn ich darauf achte, das vor dem Start das Blatt Depot aktiv ist und auch eine entsprechend gefüllte Zelle in Spalte E, dann läuft es. Hat bei E3 bis E7 geklappt.
Wenn nicht, kommt, wie von mir beschrieben, ein Fehler.
"...und in Spalte E ist eventuell eine leere Zelle markiert gewesen..." --> sprich leere "Zeile"
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)