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

Forumthread: VBA fehler 400

VBA fehler 400
26.11.2018 09:47:46
Angie
Guten Morgen meine Damen und Herren,
ich habe einen Code geschreibene und da kommt immer ein Fehler.
Sub Löschebereich()
Range("F32:I38,F40:I47,F49:I51,F53:I54,F56:I58,F60:I61,F63:I66,F68:I73,F75:I77,F79:I81,F83:I85") _
.ClearContents
End Sub

Es sollen die Zellen einfach entfernt werden aber es funktioniert nicht mit dem Code
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
ClearContents löscht nur Inhalte ... owT
26.11.2018 10:06:29
Matthias
AW: ClearContents löscht nur Inhalte ... owT
26.11.2018 10:09:44
Angie
Ich habe Sie nicht verstanden oder kann ihren Beitrag nicht lesen
AW: ClearContents löscht nur Inhalte ...
26.11.2018 10:14:47
Matthias
Hallo Angie
Wir sind eine Gemeinschaft von Excelfreunden.
Hier dutzt man sich :-)
Meine Anwort stand schon in der Betreffzeile
In meiner 2.Antwort auch.
Schau mal ob Du einen Blattschutz gesetzt hast.
owT im Betreff heißt: ohne weiteren Text
Gruß Matthias
Anzeige
bei mir keine Fehler. Blattschutz gesetzt? owT
26.11.2018 10:11:11
Matthias
AW: bei mir keine Fehler. Blattschutz gesetzt? owT
26.11.2018 10:16:17
Torsten
Der Blattname sollte schon angegeben werden, wenn der Code nicht im Klassenmodul des Tabellenblatts steht. Sonst weiss der code nicht, wo er loeschen soll.
Gruss Torsten
schreib das an Angie, nicht an mich. ow
26.11.2018 10:23:56
Matthias
Anzeige
AW: VBA fehler 400
26.11.2018 10:15:03
Daniel
Hi
an sich ist der Code korrekt.
Mögliche Ursachen für eine Fehler könnten sein:
- auf dem Blatt ist der Blattschutz aktiv und eine oder mehrere dieser Zellen sind gesperrt
- auf dem Blatt befinden sich verbundene Zellen und du löschst einen Teil eines Verbundes und nicht den ganzen Verbund
- du hast uns nicht den richtigen Code gezeigt, in deiner Datei willst du mehr Zellen löschen und die Länge des Adressstrings überschreitet die erlaubte Länge von 256 Zeichen.
- wenn der Code läuft, ist zufälligerweise ein Diagrammblatt aktiv und kein Tabellenblatt.
aber all das erzeugt bei mir nicht den Fehler 400, sondern den Fehler 1004.
Wenn die Ursache für deinen Fehler nicht dabei ist, müsstest du mal die Datei hochladen.
Gruß Daniel
Anzeige
AW: VBA fehler 400
26.11.2018 10:48:56
Angie
Was ist wenn 2 Zeilen verbunden sind und ich beide zelleninhalte gelöscht haben mag?
geht es dann nicht mehr?
AW: VBA fehler 400
26.11.2018 11:02:21
Daniel
Hi
das geht schon.
du musst dann aber beide Zellen löschen und nicht nur eine.
wenn du A1:B1 verbindest, dann musst du auch A1:B1 löschen und nicht nur A1.
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA Fehler 400: Ursachen und Lösungen


Schritt-für-Schritt-Anleitung

  1. Code überprüfen: Stelle sicher, dass der VBA-Code korrekt ist. Der folgende Code sollte die Inhalte der angegebenen Zellen löschen:

    Sub Löschebereich()
       Range("F32:I38,F40:I47,F49:I51,F53:I54,F56:I58,F60:I61,F63:I66,F68:I73,F75:I77,F79:I81,F83:I85").ClearContents
    End Sub
  2. Blattschutz prüfen: Überprüfe, ob der Blattschutz aktiviert ist. Ist dies der Fall, kann der Code möglicherweise nicht auf gesperrte Zellen zugreifen, was zu einem excel vba fehler 400 führen kann.

  3. Verbundene Zellen: Achte darauf, dass keine verbundenen Zellen im angegebenen Bereich sind. Wenn du versuchst, nur einen Teil eines verbundenen Bereichs zu löschen, kann dies ebenfalls diesen Fehler verursachen.

  4. Aktives Blatt: Stelle sicher, dass du auf einem Tabellenblatt arbeitest und nicht auf einem Diagrammblatt, während der Code ausgeführt wird.

  5. Länge des Adressstrings: Überprüfe, ob die Länge der Zelladresse 256 Zeichen nicht überschreitet. Dies könnte ebenfalls zu einem error 400 excel führen.


Häufige Fehler und Lösungen

  • Blattschutz aktiviert: Wenn du den Fehler 400 erhältst, überprüfe, ob der Blattschutz aktiv ist. Deaktiviere ihn, um den Code auszuführen.

  • Verbundene Zellen: Bei verbundenen Zellen musst du den gesamten Bereich löschen. Beispielsweise, wenn Zellen A1 und B1 verbunden sind, lösche den Bereich A1:B1.

  • Falsches aktives Blatt: Wenn das aktive Blatt ein Diagrammblatt ist, kann der Code nicht korrekt ausgeführt werden. Stelle sicher, dass ein Tabellenblatt aktiv ist.

  • Zu lange Zelladresse: Achte darauf, dass die Länge des Zellbereichs 256 Zeichen nicht überschreitet. Reduziere den Bereich, wenn nötig.


Alternative Methoden

  • Anwendung von Cells: Statt Range kannst du Cells verwenden, um einen bestimmten Bereich zu löschen. Zum Beispiel:

    Sub LöscheZellen()
       Cells(32, 6).Resize(7, 4).ClearContents ' F32:I38
       ' Füge hier weitere Zellbereiche hinzu
    End Sub
  • Nutzung von Schleifen: Du kannst auch Schleifen verwenden, um mehrere Bereiche zu löschen, was flexibler ist, falls du dynamische Zellbereiche hast.


Praktische Beispiele

  1. Einfaches Löschen von Inhalten:

    Sub EinfachLoeschen()
       Range("A1:B2").ClearContents
    End Sub
  2. Löschen unter Berücksichtigung der Blattschutz:

    Sub LoescheMitBlattschutz()
       If Not ActiveSheet.ProtectContents Then
           Range("C1:D2").ClearContents
       Else
           MsgBox "Blattschutz ist aktiv!"
       End If
    End Sub

Tipps für Profis

  • Verwende On Error Resume Next, um Fehler abzufangen und den Code nicht zum Absturz zu bringen, aber nutze dies mit Vorsicht, um nicht die Ursachen von Fehlern zu ignorieren.

  • Optimiere deine Makros, indem du häufige Operationen zusammenfasst und Teile des Codes in separate Subroutinen auslagerst, um die Lesbarkeit zu erhöhen.

  • Halte deine Excel-Version auf dem neuesten Stand, da Fehler wie microsoft visual basic error 400 gelegentlich in älteren Versionen auftreten können.


FAQ: Häufige Fragen

1. Was ist der VBA Fehler 400?
Der Fehler 400 ist ein allgemeiner Fehler in VBA, der auf verschiedene Probleme hinweisen kann, wie z.B. Blattschutz oder ungültige Zellreferenzen.

2. Wie kann ich den Fehler 400 beheben?
Überprüfe die Zellreferenzen, stelle sicher, dass kein Blattschutz aktiv ist, und dass keine verbundenen Zellen betroffen sind.

3. Tritt der Fehler 400 nur in bestimmten Excel-Versionen auf?
Ja, einige ältere Versionen von Excel können anfälliger für diesen Fehler sein. Aktualisiere auf die neueste Version, um die Wahrscheinlichkeit zu verringern.

4. Was kann ich tun, wenn ich immer noch nicht weiterkomme?
Wenn die oben genannten Lösungen nicht helfen, lade deine Datei in ein Forum hoch, um gezielte Hilfe von anderen Excel-Nutzern zu erhalten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige