Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1176to1180
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
Diagramme in Excel 2007 ansprechen
WolfgangN
Hallo,
ich habe das unter https://www.herber.de/forum/archiv/1172to1176/t1175111.htm#1175345
gezeigte Makro zur Farbänderung einer Trendlinie in meine Excel 2003 Datei eingebaut, dort funktioniert auch alles bestens. Das gleiche funktioniert leider unter Excel 2007 nicht.
Meine Originaldatei hat mehrere Diagramme auf dem Tabellenblatt.
Ich habe jetzt in Excel 2007 eine Datei mit einem Diagramm erstellt, für dieses klappt es auch.
Jetzt habe ich ein zweites Diagramm aus meiner Originaldatei dort eingefügt und angepaßt.
Für das zweite Diagramm geht das Makro nicht, aber warum nicht?
Ich würde mich sehr über eine Lösung freuen.
Gruß
Wolfgang
https://www.herber.de/bbs/user/71525.xlsm

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Diagramme in Excel 2007 ansprechen
14.09.2010 13:18:29
Nepumuk
Hallo,
du hast in dem Diagramm 10 Trendlinien !!! Im Programm sprichst du aber immer nur die 1. an.
Userbild
Gruß
Nepumuk
AW: Diagramme in Excel 2007 ansprechen
14.09.2010 14:23:56
WolfgangN
Danke Nepumuk,
hilft mir schon weiter, muß jetzt nur noch herausfinden wieso soviele Trendlinien erstellt werden.
Gruß
Wolfgang
AW: Fehlermeldung
14.09.2010 17:06:40
WolfgangN
Hallo,
leider geht meine Datei immer noch nicht. Ich habe jetzt nur noch eine Trendlinie, erhalte aber eine Fehlermeldung Laufzeitfehler 5, Ungültiger Prozeduraufruf oder ungültiges Argument.
Habe ich ein defektes Diagramm? Ich suche schon Stunden, kann aber den Fehler nicht beseitigen.
Ich habe jetzt von meiner Originaldatei alles nicht dazugehörende entfernt und hoffe auf Hilfe.
Vielen Dank und Gruß
Wolfgang

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


Anzeige
AW: Fehlermeldung
14.09.2010 19:03:19
Nepumuk
Hallo,
warum steht da nicht Option Explicit in der ersten Zeile? Dann hättest du gesehen, das ein paar Variablen nicht deklariert sind. :-( !!!
Excel benötigt etwas Zeit um die Werte zu berechnen. Daher musst du eine "Warteschleife" einbauen.
oTrend.DisplayEquation = True 'weglassen wenn Gleichung schon angezeigt wird
For intWait = 1 To 10
    sText = oTrend.DataLabel.Text 'Text der Trendliniengleichung merken.
    DoEvents
    If sText <> vbNullString Then Exit For
Next
oTrend.DisplayEquation = False 'weglassen wenn Gleichung angezeigt bleiben soll

Bei mir hat er es, wenn ich die Mappe öffne meistens nach dem 3. Durchlauf. Lass ich die Prozedur nochmal laufen, dann schon beim 1. mal. Die sich durch die Schleife ergebende Verzögerung ist dabei vernachlässigbar gering (~0,1 Sekunde).
Gruß
Nepumuk
Anzeige
AW: Umfärben erst im 2. Durchlauf?
14.09.2010 19:35:39
WolfgangN
Hallo Nepumuk,
vielen Dank für Deine Hilfe. Darauf wäre ich nicht gekommen. Durch Deine Schleife kommt kein Fehler mehr.
Allerdings ist eine Umfärbung immer erst beim 2. Durchlauf, muß noch eine Warteschleife eingebaut werden, oder wie kann man dies verhindern?
Option Explicit wende ich eigentlich immer an, vielleicht zuviel gelöscht.
Ich hoffe nochmals auf Hilfe.
Gruß
Wolfgang
AW: Umfärben erst im 2. Durchlauf?
14.09.2010 21:26:56
Nepumuk
Hallo,
kann ich nicht nachvollziehen. Bei mir wird die Trendlinie schon im 1. Durchgang gelb. Mach mal einen Haltepunkt in der Zeile "oTrend.DisplayEquation = False" und schau nach was in deiner Text-Variablen steht.
Bei mir steht da: y = 3,025x - 122273 drin.
Gruß
Nepumuk
Anzeige
AW: Umfärben erst im 2. Durchlauf?
14.09.2010 22:25:01
WolfgangN
Hallo Nepumuk,
nochmals Dank für Deine Hilfe.
Also die Formel ist bei mir gleich Deiner (außer die letzte Ziffer 3). Wenn ich den Wert in Tabelle "Wert" von 22 auf 1 setze ändert sich natürlich die Formel. Ich habe die Formeln anzeigen lassen.
Die Formel wird auch richtig angezeigt, aber die Farbe ändert sich erst beim 2. Umschalten von Tabelle Werte auf Tabelle Diagramm. Das Umschalten auf Tabelle Diagramm mit meinem Button bewirkt eine sofortige Färbung, das Umschalten unten auf den Registerfeldern färbt die Trendlinie erst beim 2. Mal.
Gruß
Wolfgang
https://www.herber.de/bbs/user/71541.xlsm
Anzeige
AW: Umfärben erst im 2. Durchlauf?
14.09.2010 23:52:00
Nepumuk
Hallo,
das ganze hängt nur mit dem ausblenden der Gleichung zusammen. Ich musste jetzt auch einige Zeit rumprobieren bis es lief.
Lass in Zukunft solche Spielereien solange du VBA nicht beherrschst, das ist alles andere als produktiv.
Ich habe jetzt dafür über eine Stunde benötigt. Das würde einem Auftraggeber über 100€ kosten. Würdest du 100€ für ein Diagramm bezahlen?
Option Explicit

Sub diagr_var()
    
    Dim rng As Range, rng1 As Range, lz As Integer
    Dim lz1 As Integer, rng2 As Range
    Dim oChart As Chart, oReihe As Series, oTrend As Trendline
    Dim sText As String
    
    'es wird das Diagramm Tagesmittelwert der letzten 150 Tage erstellt,
    lz = Tabelle7.Cells(Rows.Count, 6).End(xlUp).Row
    
    If lz > 157 Then
        Set rng = Range(Tabelle7.Cells(lz - 149, 6), Tabelle7.Cells(lz, 6))
        Tabelle6.ChartObjects("Diagramm7").Chart.SetSourceData Source:=rng, PlotBy:=xlColumns
        Set rng1 = Range(Tabelle7.Cells(lz - 149, 1), Tabelle7.Cells(lz, 1))
        Tabelle6.ChartObjects("Diagramm7").Chart.SeriesCollection(1).XValues = rng1
        Tabelle6.ChartObjects("Diagramm7").Chart.ChartTitle.Text = "Mittelwert der letzten" & Chr(10) & "150 Tage"
    Else
        Set rng = Range(Tabelle7.Cells(9, 6), Tabelle7.Cells(lz, 6))
        Tabelle6.ChartObjects("Diagramm7").Chart.SetSourceData Source:=rng, PlotBy:=xlColumns
        Set rng1 = Range(Tabelle7.Cells(9, 1), Tabelle7.Cells(lz, 1))
        Tabelle6.ChartObjects("Diagramm7").Chart.SeriesCollection(1).XValues = rng1
        Tabelle6.ChartObjects("Diagramm7").Chart.ChartTitle.Text = "Mittelwert der letzten " & Chr(10) & lz - 8 & " Tage"
    End If
    
    Set rng = Nothing
    Set rng1 = Nothing
    
    'Trendlinie wird bei - blau, bei + gelb
    Set oChart = Tabelle6.ChartObjects("Diagramm7").Chart ' für in Tabellenblatt eingebettetes Diagramm
    Set oReihe = oChart.SeriesCollection(1)
    Set oTrend = oReihe.Trendlines(1)
    
    oTrend.DisplayEquation = True 'weglassen wenn Gleichung schon angezeigt wird
    
    Tabelle6.Calculate
    
    sText = oTrend.DataLabel.Text 'Text der Trendliniengleichung merken.
    oTrend.DisplayEquation = False 'weglassen wenn Gleichung angezeigt bleiben soll
    
    'Vorzeichen in Gleichung prüfen
    If Mid$(sText, 5, 1) = "-" Then
        oTrend.Border.Color = vbRed 'rot
    Else
        oTrend.Border.Color = vbYellow 'gelb
    End If
    
End Sub

Gruß
Nepumuk
Anzeige
AW: Danke
15.09.2010 00:25:20
WolfgangN
Hallo Nepumuk,
es klappt jetzt super, vielen Dank. Ich konnte aber nicht ahnen, dass das Ausblenden der Formel solche Probleme verursacht, ich will mit Hilfe des Forums nur etwas lernen. Sicherlich ist das Färben von Trendlinien nicht lebensnotwendig, aber ich habe nicht gedacht, dass es so viele Probleme verursacht. Die gleiche Datei funktioniert in Excel 2003 vollkommen ohne Probleme und mit Färben.
Das Färben von Trendlinien ist mir natürlich nicht 100 € Wert, aber natürlich gebe ich Dir gerne mal ein Bier aus.
Also nochmals vielen Dank
Gruß
Wolfgang

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige