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

Forumthread: Laufzeitfehler 1004

Laufzeitfehler 1004
18.08.2004 15:10:13
AlPa
Kann mir jemand sagen warum die Range Methode nicht unterstützt wird? Es hatte eigentlich schon funktioniert.
ActiveSheet.Range(ActiveSheet.Cells(2, 1)).Select ergibt Laufzeitfehler 1004...
Jede andere Zuweisung klappt z.B. ActiveSheet.Range("A10").select oder ActiveSheet.Range("A"&z).select!
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 1004
harry
hi,
ActiveSheet.Range(ActiveSheet.Cells(2, 1), ActiveSheet.Cells(5, 1)).Select
ist eine range, wenn du eine zelle ansprechen willst, nimm
ActiveSheet.Cells(2, 1).Select
liebe grüße,
harry
AW: Laufzeitfehler 1004
18.08.2004 15:20:42
AlPa
Hallo Harry,
ich möchte eigentlich auch eher eine Range ansprechen. Der eigentiche Code ist:
ActiveSheet.Range(Cells(z, 1),Cells(z,s)).Select wobei 's' und 'z' zähler sind...
Anzeige
AW: Laufzeitfehler 1004
harry
funkt
ActiveSheet.Range(ActiveSheet.Cells(z, 1), ActiveSheet.Cells(z, s)).Select
nicht?
wenn nicht, check mal die zähler, ob keiner auf 0 steht oder die range mit den zahlen nicht zu markieren geht.
AW: Laufzeitfehler 1004
18.08.2004 15:42:10
AlPa
Hey,
sorry - es funktioniert noch nicht mal, wenn ich feste Zahlenwerte eingebe.
ActiveSheet.Range(ActiveSheet.Cells(2, 1), ActiveSheet.Cells(3, 8)).Select
Irgendwie scheint er Range und Cells nicht zusammen zu bekommen in dieser Datei - wie gesagt in der anderen ging es ja...
Anzeige
AW: Laufzeitfehler 1004
harry
grosses STAUN!!!
so sachen gibts öfter. schon mal speichern-schliessen-pc neu starten versucht? denn dein code für die range ist sicher richtig.
wenns nicht hilft, versuch mal:
Dim myRange as Range
Set Myrange = ActiveSheet.Range(ActiveSheet.Cells(z, 1), ActiveSheet.Cells(z, s))
myRange.Select
oder:
nimm statt ActiveSheet mal Sheets("NAME DES ARBEITSBLATTS").
bin auf weitere meldungen gespannt :-)
Anzeige
AW: Laufzeitfehler 1004
18.08.2004 16:06:32
AlPa
Hey Harry,
Du bist ein Held!!!
Hab den Rechner neu gestartet - ging nicht!
Hab ActiveSheet durch Sheets("Tabellenname") ersetzt - ging nicht!
Hab myRange dimensioniert - klappt - toll!!!
Warum gibts überhaupt solche Sachen?!?!
Danke nochmal...
AW: Laufzeitfehler 1004
harry
"warum" ist eine fatale frage beim programmieren!! der einzige trost für uns arme schlucker ist, dass bill g. nur mehr der zweit reichste mann der welt ist.
viel spass weiterhin, und nicht wundern, wenn nächste woche myRange nicht funkt :-)
Anzeige
AW: Laufzeitfehler 1004
18.08.2004 15:25:40
Werner
Hallo AIPa,

Sub Auswahl()
ActiveSheet.Range(Cells(2, 1), Cells(5, 1)).Select
End Sub

Gruß
Werner
AW: Laufzeitfehler 1004
18.08.2004 15:30:47
AlPa
das funktioniert einfach nicht - leider schmeißt mir der Compiler dann in der 'Sub' den gleichen Laufzeitfehler (1004)
AW: Laufzeitfehler 1004
Ulf
Der Vorschlag von Werner muss klappen. Hast du verbundene Zellen im Range, dann weg damit. Ggf. mal das Blatt löschen, hat vielleicht einen Knick.
Ulf
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Laufzeitfehler 1004 in Excel VBA beheben


Schritt-für-Schritt-Anleitung

  1. Überprüfe den Code: Stelle sicher, dass der Code korrekt ist. Ein häufiges Problem ist, dass die Range-Methode nicht richtig verwendet wird. Zum Beispiel:

    ActiveSheet.Range(ActiveSheet.Cells(2, 1), ActiveSheet.Cells(5, 1)).Select

    Dies sollte keine Fehler erzeugen, wenn die Zellen in der angegebenen Range existieren.

  2. Variablen richtig definieren: Wenn Du mit Variablen wie z und s arbeitest, stelle sicher, dass sie korrekt initialisiert sind und keinen Wert von 0 haben:

    Dim z As Integer
    Dim s As Integer
    z = 2
    s = 5
  3. Verwende Set: Wenn Du ein Range-Objekt definierst, benutze Set:

    Dim myRange As Range
    Set myRange = ActiveSheet.Range(ActiveSheet.Cells(z, 1), ActiveSheet.Cells(z, s))
    myRange.Select
  4. Aktiviere das richtige Arbeitsblatt: Stelle sicher, dass Du das richtige Arbeitsblatt aktiv hast oder verwende die spezifische Blattbezeichnung:

    Sheets("Tabellenname").Activate

Häufige Fehler und Lösungen

  • Fehler 1004: Dieser Fehler tritt häufig auf, wenn die Range-Methode nicht unterstützt wird. Überprüfe, ob die Zellen, die Du ansprechen möchtest, vorhanden sind und ob sie nicht in einem geschützten Bereich liegen.

  • Verbundene Zellen: Wenn Du versuchst, verbundene Zellen auszuwählen, kann dies ebenfalls zu einem Laufzeitfehler 1004 führen. Entferne die Verbindung zwischen den Zellen, um das Problem zu lösen.

  • Speichern und Neustarten: Manchmal hilft es, die Datei zu speichern, Excel zu schließen und den PC neu zu starten, um temporäre Probleme zu beheben.


Alternative Methoden

  • Statt ActiveSheet kannst Du auch direkt auf das Arbeitsblatt zugreifen:

    Sheets("DeinBlattName").Range("A1").Select
  • Verwende die .Value-Eigenschaft, um Werte direkt zu setzen, ohne die Zellen auszuwählen:

    Sheets("DeinBlattName").Cells(2, 1).Value = "Neuer Wert"

Praktische Beispiele

  1. Zellen einzeln auswählen:

    ActiveSheet.Cells(2, 1).Select
  2. Bereich auswählen:

    ActiveSheet.Range(ActiveSheet.Cells(1, 1), ActiveSheet.Cells(3, 3)).Select
  3. Werte in einem Bereich setzen:

    Dim myRange As Range
    Set myRange = ActiveSheet.Range("A1:C3")
    myRange.Value = "Beispiel"

Tipps für Profis

  • Debugging: Nutze das Debugging-Tool in VBA, um den Code Schritt für Schritt auszuführen und den genauen Ort des Fehlers zu identifizieren.

  • Fehlermeldungen anpassen: Verwende On Error Resume Next, um Fehler zu ignorieren und den Code ohne Unterbrechung auszuführen:

    On Error Resume Next
    ActiveSheet.Range("A1").Select
    On Error GoTo 0
  • Vermeide die .Select-Methode: Direktes Arbeiten mit Objekten ist oft effizienter und führt seltener zu Laufzeitfehlern:

    ActiveSheet.Range("A1").Value = "Neuer Wert"

FAQ: Häufige Fragen

1. Warum erhalte ich immer wieder den Laufzeitfehler 1004?
Der Fehler tritt häufig auf, wenn die Referenz auf die Zellen ungültig ist, zum Beispiel wenn Du versuchst, auf eine nicht existente Zelle zuzugreifen.

2. Was kann ich tun, wenn mein Code funktioniert, aber nicht in einer bestimmten Datei?
Überprüfe, ob in der Datei verbundene Zellen vorhanden sind oder ob das Blatt geschützt ist. Manchmal kann auch ein Neustart von Excel helfen.

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