Hallo zusammen,
ich komme leider ohne Hilfe nicht weiter. Und zwar habe ich mit Makrorecorder die Erstellung eines Diagrammes aufgezeichnet. Wenn ich das Diagramm wieder lösche und einen erneuten Test starte, hält der Debugger in folgender Zeile des Codes an ....
Code:
ActiveSheet.Shapes.AddChart.Select
Ausgangspunkt ist: Diagramm erstellen per Klick auf Button, Datumsspalte A ist waagerechte und Spalte G ist senkrechte Achse. Dann zwei Trendlinien erstellen, 1. Gleitender Durchschnitt 200 Farbe Lila und 2. Gleitender Durchschnitt 38 Farbe rot.
Wo liegt der Fehler?
Hallo Bernie
so hab ich es getestet
weiß aber nicht ob es Deiner Vorstellung entspricht
Code:
Sub Makro1()
With ActiveSheet
.ListObjects("ARL.DE").Range.AutoFilter Field:=1, Criteria1:= _
xlFilterYearToDate, Operator:=xlFilterDynamic
.Range("G1").Activate
.Shapes.AddChart.Select
End With
With ActiveChart
.ChartType = xlLine
.SetSourceData Source:=Range("A:A,G:G")
.Axes(xlValue).Select
.SeriesCollection(1).Select
.SeriesCollection(1).Trendlines.Add
.SeriesCollection(1).Trendlines(1).Select
End With
With ActiveSheet.ChartObjects(1)
.Left = 400
.Top = 30
.Width = 500
.Height = 200
End With
With Selection
.Type = xlMovingAvg
.Period = 2
End With
With Selection
.Type = xlMovingAvg
.Period = 38
End With
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.ObjectThemeColor = msoThemeColorAccent1
.ForeColor.TintAndShade = 0
.ForeColor.Brightness = 0
End With
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
.Transparency = 0
End With
ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Trendlines.Add
ActiveChart.SeriesCollection(1).Trendlines(2).Select
With Selection
.Type = xlMovingAvg
.Period = 2
End With
With Selection
.Type = xlMovingAvg
.Period = 200
End With
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(255, 0, 0)
End With
With Selection.Format.Line
.Visible = msoTrue
.ForeColor.RGB = RGB(112, 48, 160)
.Transparency = 0
End With
End Sub
in Deinem Makro war dann auch von Diagramm3 die Rede, das gibt so aber nicht, heißt jedesmal anders
darum habe ich die Maße hiermit erstellt
Code:
With ActiveSheet.ChartObjects(1)
.Left = 400
.Top = 30
.Width = 500
.Height = 200
End With
MfG Tom
Hallo Tom,
Danke für deine Hilfe, hab wieder dazu gelernt.
Mit der Trendlinie "Gleitender Durchschnitt 200Tage" funktioniert noch nicht richtig, stellt nur einen Punkt bzw. ganz kleinen Strich dar.
Werde mal ein wenig probieren und sollte ich nicht weiter kommen, melde ich mich!
Hallo zusammen,
ich versuche den Code vom Tom an meine Bedürfnisse anzupassen, leider ohne Erfolg.
Und zwar möchte ich den Autofilter so setzen (Datum in Spalte 1), dass die zwischen Zelle A2 (Enddatum) und Zelle A261 (Anfangsdatum) gefiltert wird (das bekomme ich mit Recorder hin ...
Code:
Sub Makro8()
Range("A1:G1").Select
Selection.AutoFilter
ActiveSheet.ListObjects("ARL.DE").Range.AutoFilter Field:=1, Criteria1:= _
">=10.10.2013", Operator:=xlAnd, Criteria2:="<=10.10.2014"
ActiveWindow.SmallScroll Down:=-108
ActiveSheet.ListObjects("ARL.DE").Range.AutoFilter Field:=1, Criteria1:= _
">=10.10.2013", Operator:=xlAnd, Criteria2:="<=10.10.2014"
End Sub
... allerdings bekomme ich folgendes nicht gebacken. "Criteria1 soll nicht 10.10.2013 stehen sondern DatumsWert Zelle A261 und Criteria2 Zelle A2. Diese sind in allen Blättern identisch.
Und ich versuche die Zeile in Toms Code zu ändern ".ListObjects("ARL.DE")" und zwar sollen für ein bestimmtes Tabellenblatt "alle" gemeint sein.
Wer könnte mir helfen? Danke schon mal im Voraus!!!
Hallo Bernie,
mal ungetestet hier reingeschrieben
Code:
ActiveSheet.ListObjects("ARL.DE").Range.AutoFilter Field:=1, Criteria1:= _
">=" & ActiveSheet.Range("A261").Text, Operator:=xlAnd, Criteria2:="<=" & ActiveSheet.Range("A2").Text
Hi Stefan,
Danke für deine Hilfe.
Es funktioniert nur bedingt und zwar wenn der Code durchläuft werden alle zeilen ausgeblendet, erst wenn ich auf den Autofilterbutton in Zelle A1 klicke und der Dialog sich öffnet und wenn ich dann auf ok klicke wird erst der korrekte Bereich angezeigt. Das hatte ich beim Aufzeichnen mit dem Recorder nicht.
Wo kann der Fehler liegen?
Hallo Bernie,
keine Ahnung. Könntest Du die Datei hier hochladen damit man sich das anschauen kann?
Hallo Bernie,
tut mir leid. Ich finde keine Lösung.
Hallo Stefan,
nicht schlimm, du hast sowieso einiges gut bei mir!!!
@Alle anderen
wäre euch dankbar, wenn ihr mal euch meines Problems annehmen könntet.
Danke schon mal im Voraus.