Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Werte zuweisen per Makro in xy Diagramm

Werte zuweisen per Makro in xy Diagramm
30.07.2004 09:25:30
Hagen
Morgen zusammen!
Hab ein kleines Problem beim Zuweisen von Werten per Makro in einem xy Diagramm.
Sieht vielleicht einer den Fehler, den ich mache?

Sub chartCreator()
Dim myDiagram As ChartObject
Dim myDataserie As Series
Dim strName As String
For y = 1 To 3 Step 1
ActiveWorkbook.Worksheets(7).Activate
strName = Worksheets(1).Range("A1")
Set myDiagram = ActiveSheet.ChartObjects.Add _
(Left:=0, Width:=720, Top:= _
Switch(y = 1, 0, y = 2, 408, y = 3, 816), Height:=396)
myDiagram.Chart.ChartType = xlXYScatterLines
'Es sollen 3 Reihen erstellt werden
For x = 1 To 3 Step 1
strName = Switch(x = 1, ActiveWorkbook.Worksheets(1).Range("A1"), _
x = 2, Worksheets(1).Range("J1"), _
x = 3, Worksheets(1).Range("S1"))
Set myDataserie = myDiagram.Chart.SeriesCollection.NewSeries
With myDataserie
.Name = strName
.XValues = "=Tabelle1!R5C2:R14C2"
.Values = "=Tabelle1!R5C7:R14C7"  'und bei dieser Zuweisung kommt Fehler
End With
Next
'nun kommen Beschriftung und Formatierung von Titel,X-Achse und Y_Achse
End Sub

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte zuweisen per Makro in xy Diagramm
30.07.2004 09:35:11
Basti
.XValues = "=Tabelle1!R5C2:R14C2"
.Values = "=Tabelle1!R5C7:R14C7"
solln das excel formeln sein?
hatte das gestern auch
=summe is =sum
=anzahl is =count
das wäre sowas ActiveCell.FormulaR1C1 = "=Tabelle2!R[-5]C[-2]"
zeichne dir halt nen makro auf mit den bereichen die du brauchst, ich sehe da auch keinen richtigen sinn hinter, wie das aufgebaut is
Anzeige
AW: Werte zuweisen per Makro in xy Diagramm
Hagen
Das mit dem Makro-Recorder hab ich in dutzend Varianten schon ausprobiert und er bringt ständig die Fehlermeldung "1004" entweder für die Zuweisung der .XValues oder der .Values ud der Code schaut auch nicht wesentlich anders aus, wie der von mir, ausser den Schleifen natürlich.
AW: Werte zuweisen per Makro in xy Diagramm
30.07.2004 09:45:29
Basti
Mit Laufzeitfehler kann kommen, wenn du mehr als 256 Spalten hast, is die Tabelle zu ende.
Hatte ich bei mir auch gestern.
Wenn der weiter zählt, dann soll er aufhören.
Hab aber keinen nerv dazu mich richtig in deinen Code darein zu denken, sry
kann dir nen bissel sagen was mir dazu einfällt das wars
Anzeige
Werte zuweisen per Makro in xy Diagramm
Hagen
Das ist schon in Ordnung so.
Bloss das mit den 256 Werten ist halt nicht so ganz gegeben. Also, der Code macht folgendes bzw soll folgendes machen:
er macht diagramm, erstellt erste Reihe mit zellen für x (B5:B14), für y (G5:G14) dann nächste Reihe mit x (...)... halt 3 Stück und das in jedem Sheet ab 7 bis 15 für 3 Diagramme... und die Wertzuweisung schlägt jedesmal fehl. Wie gesagt, entweder für die .XValues oder die .Values...
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Werte zuweisen per Makro in einem XY-Diagramm


Schritt-für-Schritt-Anleitung

Um Werte in einem Excel-Diagramm zuzuweisen, verwende das folgende VBA-Makro. Das Beispiel zeigt, wie Du die Werte für die X- und Y-Achsen in einem XY-Diagramm zuweisen kannst.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu: Einfügen > Modul.
  3. Kopiere den folgenden Code in das Modul:
Sub chartCreator()
    Dim myDiagram As ChartObject
    Dim myDataserie As Series
    Dim strName As String

    For y = 1 To 3 Step 1
        ActiveWorkbook.Worksheets(7).Activate
        strName = Worksheets(1).Range("A1")
        Set myDiagram = ActiveSheet.ChartObjects.Add _
        (Left:=0, Width:=720, Top:= _
        Switch(y = 1, 0, y = 2, 408, y = 3, 816), Height:=396)
        myDiagram.Chart.ChartType = xlXYScatterLines

        ' Es sollen 3 Reihen erstellt werden
        For x = 1 To 3 Step 1
            strName = Switch(x = 1, ActiveWorkbook.Worksheets(1).Range("A1"), _
            x = 2, Worksheets(1).Range("J1"), _
            x = 3, Worksheets(1).Range("S1"))
            Set myDataserie = myDiagram.Chart.SeriesCollection.NewSeries
            With myDataserie
                .Name = strName
                .XValues = "=Tabelle1!R5C2:R14C2"
                .Values = "=Tabelle1!R5C7:R14C7"  ' Hier kann ein Fehler auftreten
            End With
        Next
    Next y
    ' Füge hier Beschriftung und Formatierung von Titel, X-Achse und Y-Achse hinzu
End Sub
  1. Stelle sicher, dass die Zellreferenzen korrekt sind, und führe das Makro aus.

Häufige Fehler und Lösungen

  • Laufzeitfehler "1004": Dieser Fehler kann auftreten, wenn die Zellreferenzen nicht korrekt sind oder Du versuchst, auf nicht vorhandene Bereiche zuzugreifen. Überprüfe die Zellbereiche in .XValues und .Values.

  • Werte auf X- und Y-Achse nicht angezeigt: Stelle sicher, dass die Daten in den angegebenen Zellen vorhanden sind und dass Du die richtige Tabelle referenzierst.

  • Diagramm wird nicht erstellt: Überprüfe, ob das Arbeitsblatt, in dem Du das Diagramm erstellen möchtest, aktiv ist und die richtigen Berechtigungen hat.


Alternative Methoden

Wenn Du keine VBA-Programmierung verwenden möchtest, kannst Du auch die Excel-Funktionalitäten nutzen:

  1. Diagramm-Assistenten: Erstelle ein Diagramm über das Menü Einfügen > Diagramm und wähle das XY-Diagramm. Wähle die Daten für die X- und Y-Achsen direkt aus der Tabelle aus.

  2. Datenquelle ändern: Klicke mit der rechten Maustaste auf das Diagramm und wähle Daten auswählen, um die Werte für die X-Achse und Y-Achse manuell zuzuweisen.


Praktische Beispiele

Hier ist ein einfaches Beispiel, wie Du Daten für ein Excel-Diagramm X-Achse und Y-Achse zuweisen kannst:

  1. Angenommen, Du hast folgende Werte in Tabelle1:

    • Spalte B (X-Werte): 1, 2, 3, 4, 5
    • Spalte G (Y-Werte): 2, 3, 5, 7, 11
  2. Verwende das Makro, um die Daten als XY-Diagramm zu visualisieren. Stelle sicher, dass Du die Zellreferenzen im Code anpasst.


Tipps für Profis

  • Verwende Debug.Print: Nutze Debug.Print innerhalb Deines Codes, um Werte zu überprüfen und sicherzustellen, dass die richtigen Daten zugewiesen werden.

  • Zellreferenzen dynamisch: Anstatt feste Zellreferenzen zu verwenden, kannst Du auch Variablen oder benannte Bereiche verwenden, um die Flexibilität Deines Codes zu erhöhen.

  • Fehlerbehandlung: Implementiere Fehlerbehandlungsroutinen mit On Error GoTo, um Laufzeitfehler besser zu managen.


FAQ: Häufige Fragen

1. Wie weise ich Excel-Diagrammen automatisch Werte zu? Du kannst VBA verwenden, um die Werte für die X- und Y-Achsen automatisch zuzuweisen, wie im obigen Beispiel gezeigt.

2. Was mache ich, wenn die Werte nicht angezeigt werden? Überprüfe die Zellreferenzen und stelle sicher, dass die Daten in den angegebenen Zellen vorhanden sind. Achte darauf, dass das Diagramm aktuell ist.

3. Wo finde ich den Makro-Recorder in Excel? Du kannst den Makro-Recorder unter Entwicklertools > Makro aufnehmen finden. Damit kannst Du Aktionen aufzeichnen und als VBA-Code speichern.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige