Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Diagramm per Makro erstellen
#1
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?


Angehängte Dateien
.xlsm   Test_Diagramm.xlsm (Größe: 170,85 KB / Downloads: 7)
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.
Antworten Top
#2
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
Antworten Top
#3
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!
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.
Antworten Top
#4
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!!!
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.
Antworten Top
#5
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
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#6
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?
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.
Antworten Top
#7
Hallo Bernie,

keine Ahnung. Könntest Du die Datei hier hochladen damit man sich das anschauen kann?
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#8
Ergänzung Mustermappe:


Angehängte Dateien
.xlsm   diagramm2.xlsm (Größe: 170,54 KB / Downloads: 5)
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.
Antworten Top
#9
Hallo Bernie,

tut mir leid. Ich finde keine Lösung.
Gruß Stefan
Win 10 / Office 2016
Antworten Top
#10
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.
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.
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste