Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Methode Range für Objekt Worksheet fehlgeschlagen?

Forumthread: Methode Range für Objekt Worksheet fehlgeschlagen?

Methode Range für Objekt Worksheet fehlgeschlagen?
16.06.2008 16:21:00
Flo
Hallo,
Ich steh gerade etwas auf dem Schlauch.
Ich habe ein Makro in einem Combobox change sub und das liefert immer die obrige Fehlermeldung wenn ich zur stelle "Set Bereich1 = ..." komme.
Was mache ich falsch?
Hier der Code:

Private Sub CB1_Change()
Dim Le As Long
Dim Bereich1 As Range
Dim Bereich2 As Range
Dim WS As Worksheet
If Worksheets("trc-import").CB1.text  "select" And LOADED = True Then
Set WS = Worksheets(Worksheets("trc-import").CB1.text)
Le = WS.Cells(Rows.Count, 2).End(xlUp).Row
Set Bereich1 = WS.Range(Cells(6, 2), Cells(Le, 2))
Set Bereich2 = WS.Range(Cells(6, 3), Cells(Le, 3))
Worksheets("trc-import").ChartObjects("Dia Curves").SeriesCollection(1).XValues = Bereich1
Worksheets("trc-import").ChartObjects("Dia Curves").SeriesCollection(1).Values = Bereich2
End If
End Sub


Danke und Gruß
Flo

Anzeige

19
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Methode Range für Objekt Worksheet fehlgeschla
16.06.2008 16:39:00
Johannes
Hi Flot,
du willst einem Worksheet-Objekt eine Texteigenschaft deiner Combobox zuweisen. Kein Wunder, dass es knallt.
Gruesse,
Johannes

Vergiss meine Antwort ...
16.06.2008 16:41:58
Johannes
Ich glaub' ich leide an berufsblindheit. :-/

AW: Methode Range für Objekt Worksheet fehlgeschlagen?
16.06.2008 16:45:44
Hajo_Zi
Hallo Flo,
alle Bezüge müsse auf die Tabelle sein.
With Ws
Set Bereich1 = .Range( .Cells(6, 2), .Cells(Le, 2))
End With

Anzeige
AW: Methode Range für Objekt Worksheet fehlgeschla
16.06.2008 17:14:00
Flo
Danke Hajo, das hat schon mal wunderbar funktioniert.
Bin einfach nicht drauf gekommen.
Jetzt hänge ich hier:
Worksheets("trc-import").ChartObjects("Dia Curves").SeriesCollection(1).XValues = Bereich1
Worksheets("trc-import").ChartObjects("Dia Curves").SeriesCollection(1).Values = Bereich2
Fehlermeldung: "Objekt unterstützt Eigenschaft oder Methode nicht"
Mit Diagrammen kenne ich mich noch gar nicht aus.
Andere Methoden hab ich nur mit copy und paste usw. gesehen und das wollte ich vermeiden.
Ich möchte nur dem schon bestehenden Diagramm mit zwei Kurven neue Werte zuteilen.
Gruß Flo

Anzeige
Diagramm: Datenreihe Werte zuweisen
16.06.2008 17:25:58
Beverly
Hi Flo,
es wäre gut gewesen, wenn du den Betreff des Beitrages geändert hättest. Wenn Hajo mich nicht darauf aufmerksam gemacht hätte, hätte ich diesen Beitrag nicht gefunden.
Versuche es mal auf diesem Weg (ungetestet und ohne die anderen Beiträge intensiv gelesen zu haben):

Dim chDiagramm As Chart
Set chDiagramm = Worksheets("trc-import").ChartObjects("Dia Curves").Chart
With chDiagramm
.SeriesCollection(1).XValues = Bereich1
.SeriesCollection(1).Values = Bereich2
End With
Set chDiagramm = Nothing




Anzeige
AW: Diagramm: Datenreihe Werte zuweisen
16.06.2008 18:22:00
Flo
Hallo Karin,
Danke für Deine Antwort.
Ohne das Forum wär ich im Moment echt aufgeschmissen.
Habe zwar ein VBA-Buch, aber damit komm ich bei Diagrammen nicht so zurecht.
Tut mir leid, ich habe nicht daran gedacht den Titel zu ändern.
Habe den Code nach Deinen Empfehlungen umgeschrieben, bekomme trotzdem noch die Fehlermeldung "Die XValues Eigenschaft der SeriesCollection kann nicht festgelegt werden.
Bei Diagrammen hab ich echt noch verdammt viel zu lernen. was kann jetzt schon wieder falsch sein?
Hier der Code:

Private Sub CB1_Change()
Dim Le As Long
Dim Bereich1 As Range
Dim Bereich2 As Range
Dim WS As Worksheet
Dim ChDia As Chart
If Worksheets("trc-import").CB1.text  "select" And LOADED = True Then
Set ChDia = Worksheets("trc-import").ChartObjects("Dia Curves").Chart
Set WS = Worksheets(Worksheets("trc-import").CB1.text)
Le = WS.Cells(Rows.Count, 2).End(xlUp).Row
With WS
Set Bereich1 = .Range(.Cells(6, 2), .Cells(Le, 2))
Set Bereich2 = .Range(.Cells(6, 3), .Cells(Le, 3))
End With
With ChDia
.SeriesCollection(1).XValues = Bereich1
.SeriesCollection(1).Values = Bereich2
End With
Set ChDia = Nothing
End If
End Sub


Gruß Flo

Anzeige
AW: Diagramm: Datenreihe Werte zuweisen
16.06.2008 19:29:06
Beverly
Hi Flo,
es ist immer schwierig, einen Code zu überprüfen, wenn man die Arbeitsmappe nicht kennt. Einfacher wäre es, wenn du sie hochladen könntest.
Versuches mal so

.SeriesCollection(1).XValues = WS.Bereich1




Anzeige
AW: Diagramm: Datenreihe Werte zuweisen
17.06.2008 11:55:00
Flo
Hallo Karin,
hat leider nicht geklappt.
Ich habe Dir meine Arbeitsmappe per e-mail zukommen lassen da ich sie nicht veröffentlichen darf.
Habe den Homepagelink aus Deinem Anhang benutzt.
Gruß Flo

AW: Diagramm: Datenreihe Werte zuweisen
17.06.2008 11:57:00
Flo
Hallo Karin,
hat leider nicht geklappt.
Ich habe Dir meine Arbeitsmappe per e-mail zukommen lassen da ich sie nicht veröffentlichen darf.
Habe den Homepagelink aus Deinem Anhang benutzt.
Gruß Flo

Anzeige
AW: Diagramm: Datenreihe Werte zuweisen
17.06.2008 12:01:41
Beverly
Hi Flo,
ich kann sie mir aber wahrscheinlich erst morgen Abend anschauen.


AW: Diagramm: Datenreihe Werte zuweisen
17.06.2008 12:19:44
Flo
Danke Karin,
Zeitpunkt ist kein Problem.
Danke und Gruß,
Flo

AW: Diagramm: Datenreihe Werte zuweisen
17.06.2008 16:33:10
Beverly
Hi Stefan,
du müsstest die Mappe schon bitte ohne Blattschutz schicken, denn ich benutze keine Programme zum Passwortknacken. Außerdem müsstest du ein paar Daten importiert haben - wie soll ich den Code sonst prüfen können, da ich ja keinen Zugriff auf deine Ausgangsdatei habe?


Anzeige
AW: Diagramm: Datenreihe Werte zuweisen
17.06.2008 17:55:00
Flo
Sorry,
Hab Dir eine Erklärung und eine Importdatei per Mail geschickt.
Gruß Flo

AW: Diagramm: Datenreihe Werte zuweisen
18.06.2008 21:37:00
Hajo_Zi
Hallo Flo,
warum Beitrag offen. Die Datei hast Du an Karin geschickt. Alle anderen sehen die Dastei nicht, wie sollen die Antworten?

Anzeige
AW: Diagramm: Datenreihe Werte zuweisen
20.06.2008 09:14:00
Flo
Sorry, nur aus versehen angeklickt.
Gruß Flo

AW: Diagramm: Datenreihe Werte zuweisen
19.06.2008 07:20:00
Beverly
Hi Flo,
die Importdatei ist offensichtlich leer, denn es werden keine Daten importiert.
PS: sorry für die Namensverwechslung.


Anzeige
AW: Diagramm: Datenreihe Werte zuweisen
20.06.2008 09:19:56
Flo
Hallo Karin,
Die Importdatei ist nicht leer. Wenn Du auf importieren klickst und dann die Datei auswählst werden vier Tabellenblätter erstellt. Also bei mir läufts zumindest.
Du kannst auch die vier Blätter nach trc-import löschen, dann werden diese beim Import eben neu erstellt.
Ich frage mich einfach nur warum ich den Bereich den ich ausgewählt habe nicht dem Diagramm zuordnen kann. Da muss ich doch irgendwas falsch machen.
Gruß Flo

Anzeige
AW: Diagramm: Datenreihe Werte zuweisen
20.06.2008 20:14:00
Beverly
Hi Flo,
wenn ich den Code im Einzelschrittmodus ablaufen lasse, dann ist das Tabellenblatt nach dem Import leer, bis auf das Zeichen "#" in A1.
Gib von Hand einen gültigen Datenbereich in das Diagramm ein und dann sollte dein Code, so wie er ist, funktionieren.


Anzeige
AW: Diagramm: Datenreihe Werte zuweisen
23.06.2008 17:36:00
Flo
Hallo,
Danke nochmal für Eure Hilfe.
Hab das Problem jetzt selbst gelöst.
Der Blattschutz war schuld daran, dass ich dem Diagramm keinen Wertebereich zuordnen konnte.
Nachdem ich den Schutz deaktiviert habe hat alles funktioniert! ;-)
Danke auch nochmal an Karin für Deine Mühe.
Gruß Flo
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Methode Range für Objekt Worksheet: Fehlerbehebung und Tipps


Schritt-für-Schritt-Anleitung

  1. Überprüfe den Code: Stelle sicher, dass du das Worksheet-Objekt korrekt referenzierst. Es ist wichtig, alle Bezüge auf das Worksheet zu setzen. Zum Beispiel:

    With WS
       Set Bereich1 = .Range(.Cells(6, 2), .Cells(Le, 2))
       Set Bereich2 = .Range(.Cells(6, 3), .Cells(Le, 3))
    End With
  2. Fehlerhafte Zuweisung vermeiden: Achte darauf, dass du die Text-Eigenschaft deiner ComboBox richtig verwendest. Der Code sollte sicherstellen, dass der Text in der ComboBox mit dem Namen des Worksheets übereinstimmt.

  3. Diagrammwerte zuweisen: Verwende die richtige Syntax, um die Werte dem Diagramm zuzuweisen. Hier ein Beispiel:

    Dim ChDia As Chart
    Set ChDia = Worksheets("trc-import").ChartObjects("Dia Curves").Chart
    With ChDia
       .SeriesCollection(1).XValues = Bereich1
       .SeriesCollection(1).Values = Bereich2
    End With

Häufige Fehler und Lösungen

  • Fehlermeldung: "die Methode range für das objekt worksheet ist fehlgeschlagen": Diese Meldung tritt häufig auf, wenn der Bezug auf das Worksheet nicht korrekt ist oder wenn der range-Objekt nicht existiert. Stelle sicher, dass das Worksheet und der Bereich existieren.

  • "Objekt unterstützt Eigenschaft oder Methode nicht": Überprüfe, ob das Diagramm korrekt initialisiert wurde und ob die SeriesCollection tatsächlich existiert. Manchmal kann der Blattschutz das Zuweisen von Werten verhindern.

  • Leere Daten im Diagramm: Wenn nach dem Import keine Daten angezeigt werden, überprüfe, ob die Daten tatsächlich in den entsprechenden Zellen vorhanden sind.


Alternative Methoden

  • Direktes Zuweisen von Werten: Anstelle von Set Bereich1 kannst du auch direkt die Werte zuweisen:

    Worksheets("trc-import").ChartObjects("Dia Curves").SeriesCollection(1).XValues = WS.Range("B6:B" & Le)
  • Verwendung von Arrays: Du kannst auch die Werte in ein Array laden und dann zuweisen, was in manchen Fällen schneller sein kann.


Praktische Beispiele

  1. Beispiel für das Setzen des Bereichs:

    Dim Bereich1 As Range
    Set Bereich1 = WS.Range("B6:B" & Le)
  2. Diagramm aktualisieren:

    With Worksheets("trc-import").ChartObjects("Dia Curves").Chart
       .SeriesCollection(1).XValues = Bereich1
       .SeriesCollection(1).Values = Bereich2
    End With

Tipps für Profis

  • Fehlerbehandlung einfügen: Implementiere On Error Resume Next oder On Error GoTo, um die Fehlersuche zu erleichtern und zu verhindern, dass das Makro bei einem Fehler stoppt.

  • Verwende die Debug.Print Funktion: Damit kannst du die Werte und Variablen während der Ausführung des Codes überprüfen und besser nachvollziehen, wo der Fehler auftritt.

  • Dokumentiere deinen Code: Füge Kommentare hinzu, um die Funktionsweise deines Codes zu erklären. Dies hilft nicht nur dir, sondern auch anderen, die deinen Code später lesen.


FAQ: Häufige Fragen

1. Was bedeutet die Fehlermeldung "die methode range für das objekt worksheet ist fehlgeschlagen"? Diese Fehlermeldung weist darauf hin, dass Excel den angegebenen Bereich nicht finden kann. Überprüfe, ob das Worksheet und die Zellen existieren und korrekt referenziert sind.

2. Wie kann ich sicherstellen, dass mein Diagramm aktualisiert wird? Stelle sicher, dass du die richtige Syntax verwendest, um die Werte dem Diagramm zuzuweisen, und dass die Daten tatsächlich in den entsprechenden Zellen vorhanden sind.

3. Was tun, wenn ich immer noch Fehler erhalte? Überprüfe den Code Schritt für Schritt und verwende Debug.Print, um die Werte der Variablen zu überprüfen. Wenn notwendig, lade die Arbeitsmappe in ein Forum hoch, um spezifische Hilfe zu erhalten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige