Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fehler 1004 Methode Range für das Objekt Global

Fehler 1004 Methode Range für das Objekt Global
Anugyan
Hallo Excelperten,
beim Versuch mit Hilfe einer Mehrfachauswahl den Inhalt der Zellen gleichzeitig zu löschen tritt der Fehler #1004 auf: die Methode Range für das Objekt Global ist fehlgeschlagen
Range("AF3,AF5,AF8,AF10,AF18,AF20,AF28,AF30,AF38,AF40,AF48,AF50,AF58,AF60,AF68,AF70,AF78,AF80,AF88,AF90,AF98,AF100,AF108,AF110,AF118,AF120").FormulaLocal = ""
wenn ich dann alle Kommas durch Strichpunkte ersetze läufts problemlos,
nur manchmal ist es genau umgekehrt (z.B auf einem anderen Rechner, der aber die selbe Office- und WindowsVersion hat), da kommt die Fehlermeldung wenn die Strichpunkte drin sind und nach dem Ersetzen durch Kommas ist alles OK.
Kann mir jemand etwas zu diesem Problem sagen?
Gruß
Anugyan
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Fehler 1004 Methode Range für das Objekt Global
Oberschlumpf
Hallo Anugyan
Vielleicht lässt sich das Problem lösen, wenn Du auf beiden PC mal die folgende Systemeinstellung miteinander vergleichst.
dieser Tipp gilt für Win XP (bei anderen Win-Versionen vielleicht ähnlich)
Start/Einstellungen/Systemsteuerung
- doppelt auf Regions- und Spracheinstellungen klicken
- in der Registerkarte "Regionale Einstellungen" auf den Button "Anpassen" klicken
- in dem sich öffnenden Fenster den Eintrag in "Listentrennzeichen" vergleichen
Wenn auf dem einen PC das Komma und auf dem anderen PC das Semikolon ausgewählt ist, könnte dies die Ursache für das Problem sein.
Konnte ich helfen?
Ciao
Thorsten
Anzeige
AW: Fehler 1004 Methode Range für das Objekt Global
Anugyan
Hallo Thorsten,
Vielen Dank für Deinen Tipp, den anderen Rechner kann ich zur Zeit nicht überprüfen, da ich im Urlaub bin.
Da aber hier das Trennzeichen ein Semikolon ist und das (oder DER? Makro?, wollte ich schon immer mal wissen ) Makro mit Semikolon läuft, könntest du gut recht haben.
Wenn dem so ist, gibt es in VBA (mit API?) eine Möglichkeit diese Systhemeinstellung zu überprüfen oder ist der Fehler 1004 ein auffanfbarer Fehler?
Ich hatte mir schon überlegt, der Range(die ja leider nicht zusammenhängend ist) einen Namen zu geben und mit For Each... alle Zellen abzuklappern.
Gruß
Anugyan
Anzeige
AW: Fehler 1004 Methode Range für das Objekt Global
Oberschlumpf
Hallo Anugyan
der die das Makro :-)
Da wurde auch ich neugierig :-)
Laut http://www.leo.org (deutsch-englisch-Übersetzung) heißt es DAS MAKRO.
(in Hans' Forum lernt man sogar noch was für's Leben...grins)
API
Ich denke schon, dass es per API möglich ist. die Einstellung bzgl. des Listentrennzeichens zu überprüfen. Aber leider hab ich keine Idee, wie. :-)
Vielleicht solltest Du Dich mal in VB-Foren umsehen.
1004 = Auffangbarer Fehler?
Jeder Befehl, der mit einer Nummer + Meldung das Programm abbricht, ist auf- bzw. abfangbar.
Aber auch hier wüsst ich jetzt nicht, wie eine sinnvolle Fehlerroutine aussehen könnte.
Name für Zellbereich
Wenn sich die Zellen nicht ändern, und das Löschen der Formeln auch bei Verwendung von Namen möglich ist, dann wäre dieser Ansatz vielleicht die schnellste Lösung.
Aber warum denn For Each....?
Würde das Ganze nicht so auch funktionieren:
Range(ZellbereichName).FormulaLocal = ""
ist doch das Gleiche wie
Range(("AF3,AF5,AF8,AF10,AF18....").FormulaLocal = ""
Oder macht sich bei mir gerad ein Denkfehler breit? :-)
Ciao
Thorsten
Anzeige
AW: Fehler 1004 liegt nicht am Listentrennzeichen
02.04.2004 15:19:08
Anugyan
Hallo Thorsten,
du bist wohl auch eher ein Nachtmensch, dass du so spät noch vor dem Kasten sitzt?!
Ich danke Dir für Deine Mühe.
So im Halbschlaf ist es mir gestern gedämmert, dass ich es leicht hätte überprüfen können, wenn ich das Listentrennzeichen umgeschaltet hätte. Ja und heute mußte ich feststellen, dass DAS Makro mit beiden Listentrennzeichen läuft!
Das mit dem Fehler auffangen hätte ich mir so vorgestellt:
On Error GoTo neuFehl
Error 1004 'simuliert den Fehler, der im Moment (leider?!) nicht auftritt
Range("AF3;AF5;AF8;AF10;AF18;AF20;AF28;AF30;AF38;AF40;AF48;AF50;AF58;AF60;AF68;AF70;AF78;AF80;AF88;AF90;AF98;AF100;AF108;AF110;AF118;AF120").Formula = ""
On Error GoTo 0
neuFehl:
If Err 0 Then
Range("AF3,AF5,AF8,AF10,AF18,AF20,AF28,AF30,AF38,AF40,AF48,AF50,AF58,AF60,AF68,AF70,AF78,AF80,AF88,AF90,AF98,AF100,AF108,AF110,AF118,AF120").Formula = ""
On Error GoTo 0
End If
Jedoch läßt sich der 1004er scheinbar nicht abfangen (steht auch nicht in der Liste in der Hilfe)!
Dein Vorschlag: Range(ZellbereichName).FormulaLocal = ""
würde gehen, hat jedoch den Nachteil, das es zunächst nicht abwärtskompatibel ist, da in älteren Dateien in denen ich nur das Makro ersetzen möchte, der Bereich nicht definiert ist. (Eine interessante Beobachtung bei dieser Gelegenheit: der Versuch über "Namen defienieren" mehr als 13 Zellen über Anklicken einzugeben scheiterte; dagegen erst den Bereich von insgesammt 26 nicht zusammenhängenden zu Markieren und dann im Namensfeld den Namen eingeben funktionierte.)
Die eigentliche Frage bleibt offen, warum der Fehler 1004, "die Methode Range für das Objekt_Global ist fehlgeschlagen", einmal bei einer Mehrfachauswahl mit Komma als Trennungszeichen und ein andersmal mit Semikolon auftritt?
Gruß
Anugyan
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Fehler 1004: Die Methode Range für das Objekt Global ist fehlgeschlagen


Schritt-für-Schritt-Anleitung

  1. Verwendung des richtigen Trennzeichens: In Excel kann der Fehler "1004: die Methode Range für das Objekt _global ist fehlgeschlagen" häufig auftreten, wenn die Trennzeichen in verschiedenen Regionen unterschiedlich sind. Überprüfe die regionale Einstellung deines Systems:

    • Gehe zu Systemsteuerung > Regionale Einstellungen > Anpassen.
    • Achte darauf, dass das "Listentrennzeichen" auf beiden PCs gleich ist (entweder Komma oder Semikolon).
  2. Fehlerbehandlung in VBA: Um den Laufzeitfehler 1004 abzufangen, kannst du in deinem VBA-Code die Fehlerbehandlung implementieren.

    On Error GoTo FehlerBehandlung
    Range("AF3;AF5;AF8").FormulaLocal = ""
    On Error GoTo 0
    Exit Sub
    
    FehlerBehandlung:
       If Err.Number = 1004 Then
           Range("AF3,AF5,AF8").FormulaLocal = ""
       End If

Häufige Fehler und Lösungen

  • Fehler 1004 aufgrund falscher Trennzeichen: Der häufigste Grund für den Fehler ist ein inkorrektes Trennzeichen. Wenn dein Makro auf einem Computer mit Komma und auf einem anderen mit Semikolon ausgeführt wird, wird der Fehler ausgelöst. Stelle sicher, dass beide Systeme die gleichen Einstellungen verwenden.

  • VBA-Fehlerbehandlung: Wenn du den Fehler 1004 nicht abfangen kannst, überprüfe, ob du die richtige Syntax in deinem VBA-Code verwendest. Manchmal kann das Ersetzen von Range mit einer benannten Zellreferenz helfen.


Alternative Methoden

  • Verwendung von benannten Bereichen: Anstatt die Zellen manuell im Code anzugeben, kannst du einen benannten Bereich erstellen und diesen in deinem VBA-Code verwenden.

    Range("MeinBereich").FormulaLocal = ""

    Dies macht deinen Code flexibler und weniger anfällig für Fehler.

  • Einzelschritte mit Schleifen: Wenn du mehrere Zellen bearbeiten musst, kannst du eine Schleife verwenden, um durch die Zellen zu iterieren:

    Dim zelle As Range
    For Each zelle In Range("AF3,AF5,AF8")
       zelle.FormulaLocal = ""
    Next zelle

Praktische Beispiele

Hier ist ein praktisches Beispiel, wie du den Fehler 1004 vermeiden kannst:

Sub ClearCells()
    On Error GoTo FehlerBehandlung
    Dim myRange As Range
    Set myRange = Range("AF3;AF5;AF8;AF10")
    myRange.FormulaLocal = ""
    Exit Sub

FehlerBehandlung:
    If Err.Number = 1004 Then
        Set myRange = Range("AF3,AF5,AF8,AF10")
        myRange.FormulaLocal = ""
    End If
End Sub

Dieses Makro versucht zuerst, die Zellen mit einem Semikolon zu leeren und wechselt dann, falls ein Fehler auftritt, zu Kommas.


Tipps für Profis

  • Regelmäßige Überprüfung der regionalen Einstellungen: Bei der Arbeit in einem Team kann es hilfreich sein, regelmäßig die regionalen Einstellungen der PCs zu überprüfen, um Probleme mit unterschiedlichen Trennzeichen zu vermeiden.

  • Dokumentation: Halte eine Dokumentation über alle verwendeten Makros und die entsprechenden regionalen Einstellungen, um die Fehlersuche zu erleichtern.

  • Fehlermeldungen anpassen: Du kannst spezifische Fehlermeldungen erstellen, die den Benutzern helfen, direkt zu erkennen, welche Anpassungen vorgenommen werden müssen.


FAQ: Häufige Fragen

1. Was bedeutet der Fehler 1004 genau?
Der Fehler 1004 tritt auf, wenn Excel einen Befehl nicht ausführen kann, oft aufgrund von syntaktischen Fehlern oder falschen Einstellungen.

2. Wie kann ich den Fehler 1004 in VBA abfangen?
Du kannst die On Error-Anweisung verwenden, um den Fehler abzufangen und eine spezifische Fehlerbehandlung zu implementieren.

3. Warum funktioniert mein Makro auf einem PC, aber nicht auf einem anderen?
Das könnte an unterschiedlichen regionalen Einstellungen liegen, insbesondere an den Listentrennzeichen. Überprüfe die Systemeinstellungen auf beiden PCs.

4. Gibt es eine Möglichkeit, die Listentrennzeichen programmatisch zu überprüfen?
Ja, das ist möglich, aber erfordert eine tiefere VBA-Programmierung. Es gibt APIs, die diese Informationen bereitstellen können.

5. Was ist der Unterschied zwischen Range("A1") und Range("A1:A10")?
Range("A1") bezieht sich auf eine einzelne Zelle, während Range("A1:A10") einen Zellbereich definiert. Dies ist wichtig, um sicherzustellen, dass du die richtigen Zellen bearbeitest.

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