Office: In XY-Punktdiagramm y-Achse per VBA ansprechen

Helfe beim Thema In XY-Punktdiagramm y-Achse per VBA ansprechen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallöchen, ich benutze Office 2007 unter Windows 7 und bastle gerade eine UserForm, mit der aus einer Datentabelle in einem Tabellenblatt ein... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Vovo79, 13. September 2012.

  1. In XY-Punktdiagramm y-Achse per VBA ansprechen


    Hallöchen,

    ich benutze Office 2007 unter Windows 7 und bastle gerade eine UserForm, mit der aus einer Datentabelle in einem Tabellenblatt ein eingebettetes XY-Punktdiagramm (xlXYScatter) im selben Tabellenblatt erstellt werden kann.

    Ich bin schon recht weit, das meiste funktioniert, aber ich bekomme Probleme, wenn ich die y-Achse formatieren möchte. Habe schon recht viel im Internet gesucht und mir damit einen Code gebastelt, der eigentlich funktionieren sollte, aber irgendwas hab ich da offensichtlich noch nicht richtig gepeilt.

    Ich möchte mit der y-Achse im Prinzip dasselbe machen wie mit der x-Achse. Der Code für die x-Achse funktioniert auch wunderbar, nur wenn ich dasselbe auf die y-Achse anwenden will, mit xlValues statt xlCategory, gibt es Probleme. Erst mal das entsprechende Stückchen Code aus dem cmdButton-Sub (ich hoffe mal, das reicht, der gesamte Code ist ziemlich umfangreich, den müsste ich dann hochladen):

    Code:
        ' Axes are formatted.
            ' x-axis
                With ActiveChart.Axes(xlCategory)
                    With .Border
                        .Weight = CInt(Val(txtXLineThickness))
                        .ColorIndex = 1
                    End With
                    .HasTitle = chkXTitle
                    If chkXTitle = True Then
                        .AxisTitle.Caption = txtXTitle
                        With .AxisTitle.Font
                            .Size = 12
                            .Name = "Arial"
                            .FontStyle = "Bold"
                        End With
                    End If
                    With .TickLabels.Font
                        .Size = 12
                        .Name = "Arial"
                        .FontStyle = "Bold"
                    End With
                End With
            ' y-axis
                With ActiveChart.Axes(xlValues)
                    With .Border
                        .Weight = CInt(Val(txtYlineThickness))
                        .ColorIndex = 1
                    End With
                    .HasTitle = chkYTitle
                    If chkYTitle = True Then
                        .AxisTitle.Caption = txtYTitle
                        With .AxisTitle.Font
                            .Size = 12
                            .Name = "Arial"
                            .FontStyle = "Bold"
                        End With
                    End If
                    With .TickLabels.Font
                        .Size = 12
                        .Name = "Arial"
                        .FontStyle = "Bold"
                    End With
                End With
    
    Manche Werte werden von der UserForm übernommen und sind in entsprechenden Controls enthalten, z.B. chkXtitle =>CheckBox, mit der entschieden wird, ob die x-Achse einen Titel haben soll oder nicht.

    Wenn ich den zweiten Abschnitt, also zur y-Achse, rausnehme, klappt alles und die y-Achse wird nach den Excel-Standardeinstellungen formatiert.
    Wenn ich den y-Achsen-Code drin lassen, erhalte ich folgende Fehlermeldung:

    Code:
    Laufzeitfehler '-2147467259 (80004005)':
    
    Die Methode 'Axes' für das Objekt '_Chart' ist fehlgeschlagen
    
    Der Debugger markiert dabei den Code "With ActiveChart.Axes(xlValues)", also den ersten Teil der y-Achsenformatierung.

    Im Lauf der Erstellung des Codes hab ich auch schon andere Fehlermeldungen bekommen, die vielleicht mit diesem xlValues-y-Achsen-Problem zusammenhängen. Ich habe manchmal das Gefühl, dass ich die y-Achse prinzipiell anders ansprechen muss, aber alles, was ich im Internet bisher dazu gefunden habe, deutet auf xlValues hin, wobei es auch ein Problem ist, dass es da meistens um andere Diagrammtypen geht, z.B. xlLine. Der Makro-Rekorder hat mir bisher auch nicht weitergeholfen, denn aus irgendeinem Grund zeichnet der die Formatierungen, die ich mit den Achsen vornehme, gar nicht auf, sondern nur die Selektierungen. Keine Ahnung, ob das normal ist oder bei mir irgendwas mit dem Makro-Rekorder faul.

    Das ist soweit mal mein Problem. Hoffentlich kann mir da jemand weiterhelfen. Würde mich nicht wundern, wenn es nur eine Kleinigkeit ist, und das wünsche ich mir auch, aber das muss mir wohl jemand anders erst verklickern. :D

    Viele Grüße,

    Vovo79
     
  2. Beverly
    Beverly Erfahrener User
    Hi,

    auf jeden Fall heißt es schon mal .Axes(xlValue) und nicht .Axes(xlValues). Ob noch mehr falsch ist kann ich so leider nicht feststellen, da mir einige Variablen nicht bekannt sind, die in deinem Code verwendet werden.

    Der Makrorekorder in Excel2007 zeichnet leider viele Aktionen nicht auf, die man in Diagrammen und Shapes ausführt. Das ist erst wieder ab Excel2010 der Fall.

    Bis später,
    Karin
     
  3. Hi auch!

    Volltreffer, das war's! Ich weiß nicht, wie ich ursprünglich auf "xlValues" gekommen bin, aber in letzter Zeit muss ich das immer falsch gelesen haben, denn auf diversen Seiten zu dem Thema, die ich noch offen hatte, war's so geschrieben - ohne s. Lustig finde ich aber, dass in der VBA-Umgebung beim Tippen sowohl für "xlvalue" als auch für "xlvalues" automatisch das v zu Großschreibung korrigiert wird. (Die Eingabe "activechart.axes(xlvalues).hastitle = true" wurde genauso autokorrigiert wie mit "xlvalue".) Das dürfte wohl heißen, dass es beide Konstanten gibt, nur hab ich anscheinend im Kontext "Axes" die falsche verwendet.

    Jedenfalls klappt jetzt auch die Formatierung der y-Achse einwandfrei, danke, Beverly!

    Wow, dass sich mein Wunsch so 100%ig erfüllt, hätte ich nicht erwartet, was Kleineres hätte es wirklich nicht sein können. :D

    Viele Grüße,

    Vovo
     
  4. Beverly
    Beverly Erfahrener User

    In XY-Punktdiagramm y-Achse per VBA ansprechen

    Hi,

    bei der Find-Methode legt xlValues neben xlComments und xlFormulas den Typ der zu durchsuchenden Daten fest - aus diesem Grund erkennt Excel dies auch als Datentyp und wandelt ihn auch in die richtige Schreibweise um, nur dass es eben im Kontext mit Axes nicht korrekt ist.

    Bis später,
    Karin
     
Thema:

In XY-Punktdiagramm y-Achse per VBA ansprechen

Die Seite wird geladen...
  1. In XY-Punktdiagramm y-Achse per VBA ansprechen - Similar Threads - Punktdiagramm Achse VBA

  2. Monate im Punktdiagramm

    in Microsoft Excel Hilfe
    Monate im Punktdiagramm: Hallo Forum, wie kann ich den Achsentyp meiner x-Achse in Datumsachse umstellen? Im Screenshot "Achsenoptionen" kann man sehen, dass der Diagrammzeitraum vom 01.01.12 bis zum 31.12.12 geht. Im...
  3. Diagramm ohne Gitternetzlinien aber mit Skalenstrichen?

    in Microsoft Excel Hilfe
    Diagramm ohne Gitternetzlinien aber mit Skalenstrichen?: Hallo! Bin gerade etwas am verzweifeln, weil ich mir nicht vorstellen kann, dass Excel dafür keine Möglichkeit vorsieht. Ich möchte ein "cleanes" Streudiagramm, ohne Hauptgitter, nur mit den...
  4. Excel Punktdiagramm Achse (0/0) bei positiven und negativen Werten

    in Microsoft Excel Hilfe
    Excel Punktdiagramm Achse (0/0) bei positiven und negativen Werten: Hallo zusammen, ich sitze gerade an meiner Abschlussarbeit und möchte ein paar Diagramme darstellen. Sind sowohl positive als auch negative Werte für die y-Achse vorhanden wird mittig nicht y=0...
  5. Werte in Punktdiagramm übereinander abbilden lassen

    in Microsoft Excel Hilfe
    Werte in Punktdiagramm übereinander abbilden lassen: Hallo Leute, ich stehe gerade vor einem Problem bei dem ich nicht weiter komme. Ich möchte gerne ein Punktdiagramm in Excel erstellen bei dem die Punkte einzelner Daten übereinander liegen und...
  6. Flächendiagramm "weichzeichnen"/Fläche unter Punktdiagramm färben

    in Microsoft Excel Hilfe
    Flächendiagramm "weichzeichnen"/Fläche unter Punktdiagramm färben: Hallo zusammen, ich habe Folgendes Problem: ich habe ein Diagramm welches aus einem "Punkt-Diagramm mit interpolierten Linien" besteht. Ich möchte die Fläche unter dem Diagramm, bzw. unter der...
  7. Datumsangaben auf der x-Achse eines Punktdiagrammes mit interpolierten Linien

    in Microsoft Excel Hilfe
    Datumsangaben auf der x-Achse eines Punktdiagrammes mit interpolierten Linien: Hallo, Mein Problem ist, dass ich bei Excel 2010 gerne ein Punktdiagramm mit interpolierten Linien erstellen möchte, wobei auf der x-Achse Datumsangaben stehen sollen. Jedoch ist in der Tabelle...
  8. Säulendiagramm mit x-Achse wie beim Punktdiagramm

    in Microsoft Excel Hilfe
    Säulendiagramm mit x-Achse wie beim Punktdiagramm: Grüße euch, habe eine dringende Angelegenheit und hoffe, dass es eine mögliche Lösung gibt. Würde gerne ein Säulendiagramm erstellen und dabei die x-Achse (Abszisse), wie beim...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden