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

Forumthread: Laufzeitfehler '1004' Anwendungs- oder Objektdefin

Laufzeitfehler '1004' Anwendungs- oder Objektdefin
15.02.2009 18:05:00
Rasho
Guten Tag
Ich habe Office 2007
Undzwar hat mein Lehrer uns Prüfungstests im Excelformat gegeben. Es gibt 2 Knöpfe in der Excel Datei. Einmal "Üben" und "Testen".
Habe die Makros Aktiviert und dann kommt beim draufklicken immer "Laufzeitfehler '1004' Anwendungs- oder Objektdefinierter Fehler"
Ich öffne es mit Visual Basic und es wird mir folgendes angezeigt:

Sub testen()
' Testen Makro
' Makro am 01.03.2008 von Bill Gates aufgezeichnet
Range("D7:D930,G1").Select
Selection.Font.ColorIndex = 2
Range("K1").Select
Selection.Font.ColorIndex = 10
Range("G13:H13").Activate
End Sub



Sub üben()
' üben Makro
' Makro am 01.03.2008 von Bill Gates aufgezeichnet
Range("D7:D930,G1").Select
Selection.Font.ColorIndex = 10
Range("K1").Select
Selection.Font.ColorIndex = 2
Range("G13:H13").Select
End Sub


darunter wird "Selection.Font.ColorIndex = 10" gelb angezeigt.
Ich bitte um Hilfe denn ich kenne mich null mit VB aus und wir schreiben morgen die Prüfung :S
mfg Rasho

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler '1004' Anwendungs- oder Objektdefin
15.02.2009 18:23:00
Tino
Hallo,
außer das man auf Select fast immer verzichten kann, sollte der Code aber eigentlich laufen.
Ist die die Tabelle Schreibgeschützt?
Oder versuche es mal so.

Sub testen()
Range("D7:D930,G1").Font.ColorIndex = 2
Range("K1").Font.ColorIndex = 10
End Sub
Sub üben()
Range("D7:D930,G1").Font.ColorIndex = 10
Range("K1").Font.ColorIndex = 2
End Sub


Gruß Tino

Anzeige
AW: Laufzeitfehler '1004' Anwendungs- oder Objektdefin
15.02.2009 18:30:00
Rasho
Ich habe wie gesagt keine ahnung mit VB. Hab den von Ihnen angegebenen Code durch den ganzen alten Code ersetzt und am Ende gespeichert. Jedoch Zeigt er mir dann nach dem Click den gleichen Fehler an und diese Zeile ist gelb "Range("D7:D930,G1").Font.ColorIndex = 2"
Die Datei an sich ist nicht Schreibgeschützt.
Anzeige
AW: Laufzeitfehler '1004' Anwendungs- oder Objektdefin
15.02.2009 18:35:00
Gerd
Hallo Rasho,
ich habe zwar eine andere xl-Version, aber die Codes laufen fehlerfrei durch.
Hast Du in den betreffenden Bereichen evtl. verbundene Zellen?
P.S.: "Selection" u. "select" sind natürlich entbehrlich.
Gruß Gerd
AW: Laufzeitfehler '1004' Anwendungs- oder Objektdefin
15.02.2009 18:41:00
Rasho
Wenn ich wüsste, was "verbundene Zellen" bedeutet. Wäre es nicht einfacher, ich Uploade die XLS datei und ihr schaut euch das einfach an ? Vielleicht liegt es einfach an meiner Version! Denn ich habe die Datei nicht erstellt.
Anzeige
ist das Blatt ist geschützt ? (nicht die Datei) oT
15.02.2009 18:46:00
Matthias
AW: ist das Blatt ist geschützt ? (nicht die Datei) oT
15.02.2009 18:53:00
Rasho
JA es ist passwortgeschützt. Ist es ohne das Passwort nicht möglich ?
Nein, heb den Schutz erst auf ...
15.02.2009 19:07:00
Matthias
Hallo
Hallo & Gruß sind hier so üblich (auch im Stress)
das ist ja Sinn und Zweck des Schutzes, das es nicht jeder ändern kann.
Evtl. ist es ohne Passwort geschützt und Du mußt nur Ok klicken zum Aufheben des Schutzes.
wenn ein Passwort existiert:
kannst Du ohne Passwort die Tabelle nicht ändern. (jedenfalls nicht auf legalen Wegen)
Gruß Matthias
Anzeige
hier das Bild ... oT
15.02.2009 18:54:00
Matthias
Userbild
AW: hier das Bild ... oT
15.02.2009 18:59:00
Rasho
Wenn ich das mache kommt ein Passwortfeld. DAs Passwort dazu weiss ich nicht.
Frag Deinen Lehrer nach dem PW oT.
15.02.2009 19:02:00
Tino
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler '1004' in Excel VBA beheben


Schritt-für-Schritt-Anleitung

  1. Makros aktivieren: Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe dazu zu Datei > Optionen > Sicherheitscenter > Einstellungen für das Sicherheitscenter > Makroeinstellungen und aktiviere die Option für Makros.

  2. Überprüfen des Codes: Öffne den Visual Basic-Editor (ALT + F11) und schaue dir den VBA-Code an. Hier ist ein Beispiel, wie der Code aussehen sollte:

    Sub testen()
       Range("D7:D930,G1").Font.ColorIndex = 2
       Range("K1").Font.ColorIndex = 10
    End Sub
    
    Sub üben()
       Range("D7:D930,G1").Font.ColorIndex = 10
       Range("K1").Font.ColorIndex = 2
    End Sub
  3. Zellen überprüfen: Stelle sicher, dass in den angegebenen Zellen keine verbundenen Zellen vorhanden sind. Verbundene Zellen können häufig den Laufzeitfehler 1004 verursachen.

  4. Blattschutz aufheben: Wenn das Arbeitsblatt passwortgeschützt ist, musst du den Schutz aufheben, um Änderungen vornehmen zu können. Ohne das Passwort kannst du die Zellen nicht bearbeiten.


Häufige Fehler und Lösungen

  • Fehler: "Laufzeitfehler 1004 - Anwendungs- oder objektdefinierter Fehler": Dies tritt häufig auf, wenn du versuchst, auf eine Zelle zuzugreifen, die gesperrt oder nicht vorhanden ist. Überprüfe die Zellreferenzen und den Blattschutz.

  • Fehler bei der Verwendung von .Select: Die Verwendung von .Select ist in den meisten Fällen nicht notwendig. Der Code kann direkt auf die Zellen zugreifen, was die Ausführung beschleunigt.


Alternative Methoden

Falls das Problem weiterhin besteht, kannst du alternative Ansätze ausprobieren:

  • Verwende With-Anweisungen: Dies kann deinen Code effizienter machen. Hier ein Beispiel:

    Sub testen()
       With Range("D7:D930,G1")
           .Font.ColorIndex = 2
       End With
       Range("K1").Font.ColorIndex = 10
    End Sub
  • Vermeide die Verwendung von Selection: Direktes Ansprechen der Zellen vermeidet häufig Fehler und ist effektiver.


Praktische Beispiele

Hier sind einige praktische Beispiele zur Anwendung des Codes:

  1. Farbe einer Zelle ändern:

    Sub Beispiel()
       Range("A1").Font.ColorIndex = 3 ' Ändert die Schriftfarbe auf Rot
    End Sub
  2. Hintergrundfarbe einer Zelle ändern:

    Sub BeispielHintergrund()
       Range("B1").Interior.ColorIndex = 6 ' Ändert den Hintergrund auf Gelb
    End Sub

Tipps für Profis

  • Fehlerprotokollierung: Füge On Error Resume Next in deinen Code ein, um Laufzeitfehler zu ignorieren und den Code weiterlaufen zu lassen. Dies kann jedoch das Debuggen erschweren.

  • Verwende Debugging-Tools: Nutze die Debugging-Funktion im Visual Basic-Editor, um den Code Schritt für Schritt durchzugehen und Fehler zu identifizieren.


FAQ: Häufige Fragen

1. Was ist der Laufzeitfehler '1004'?
Der Laufzeitfehler '1004' tritt auf, wenn Excel ein Problem mit dem Code hat, z.B. nicht vorhandene Zellen oder geschützte Blätter.

2. Wie kann ich den Blattschutz aufheben?
Du musst das Passwort kennen, um den Schutz aufzuheben. Wenn du das Passwort nicht weißt, frage den Ersteller der Datei.

3. Warum sollte ich Select vermeiden?
Select kann den Code verlangsamen und ist oft nicht notwendig. Greife direkt auf die Zellen zu, um die Leistung zu verbessern.

4. Wie kann ich verbundene Zellen erkennen?
Verbunde Zellen siehst du in Excel, wenn mehrere Zellen durch eine einzige Zelle dargestellt werden. Achte darauf, diese zu entkoppeln, um Fehler zu vermeiden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige