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

VBA - Fehleranzeige "400" ?

Forumthread: VBA - Fehleranzeige "400" ?

VBA - Fehleranzeige "400" ?
WalterK
Hallo,
der folgende Code soll einen Bereich (im Beispiel E1:L (bis letzte Zeile)) in ein neu angelegtes Blatt kopieren, im Zielbereich beginnend bei A1!
2 Fragen hätte ich dazu:
1.) Allerdings kommt die Fehlermeldung "400" und ich weiß nicht was falsch sein soll. Klicke ich bei der Fehlermeldung auf OK läuft der Code bis zum Ende durch und es wird kopiert wie gewünscht. Was verursacht die Fehlermeldung.
2.) Ich möchte auch das die Spaltenbreiten und Zeilenhöhen mitkopiert werden. Wie geht das?
Hier der Code:

Option Explicit
Sub BlattLKanlegen()
Dim objSh As Worksheet, objShNew As Worksheet
Dim LzA As Long
Application.ScreenUpdating = False
'*******Bereich kopieren, in neu angelegtes Blatt kopieren und Blattnamen vergeben
Set objSh = ActiveSheet
With objSh
LzA = Application.Max(7, .Cells(Rows.Count, 5).End(xlUp).Row)
Set objShNew = ActiveWorkbook.Worksheets.Add(after:=objSh)
objShNew.Name = Range("G4") & Format(Now, " hh/mm/ss")
.Range(.Cells(1, 5), .Cells(LzA, 12)).Copy objShNew.Range("A1")
End With
Set objSh = Nothing
Set objShNew = Nothing
Range("A1").Select
End Sub

Besten Dank für die Hilfe und Servus, Walter
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Fehler '400' : Code OK - Verweise prüfen
27.07.2011 15:55:37
NoNet
Hallo Walter,
der Code funktioniert einwandfrei - hier ist kein Fehler enthalten.
Ich vermute jedoch, dass es sich um den berühmtberüchtigten Fehler 400 handelt (also nicht : Error 400 !!).
Dieser erscheint m.E., sobald ein Verweis oder ein AddIn nicht korrekt eingebunden werden kann.
Prüfe im VBA-Editor daher mal über "Extras -Verweise" ob hier ein NICHT VORHANDENER Verweis existiert.
Poste doch mal einen Screenshot Deines VERWEIS-Fensters !
Gruß, NoNet
Anzeige
AW: Fehler '400' : Code OK - Verweise prüfen
27.07.2011 16:00:47
WalterK
Hallo NoNet,
dann probiere ich die Datei zuerst noch an einem anderen Computer aus, geht aber erst am Abend.
Besten Dank inzwischen und
Servus, Walter
AW: Fehler '400' : Code OK - Verweise prüfen
28.07.2011 00:14:39
WalterK
Hallo,
ich habe den Code jetzt auch mit Excel 2010 probiert, es kommt der gleiche Fehler: 400
Weil ich nicht weiß, wie man hier einen Screenshot hinein kopiert, führe ich die Liste der Verweise tabellarisch an:
Visual Basic For Applications
Microsoft Excel 14.0 Object Library
OLE Automation
Microsoft Office 14.0 Object Library
Hilft das weiter?
Besten Dank und Servus, Walter
Anzeige
Frage noch offen
28.07.2011 00:18:38
WalterK
Alter Fehler ist weg, aber neue Frage ..
28.07.2011 07:45:44
WalterK
Hallo,
der Fehler "400" ist weg nachdem ich am Ende des Codes das Range("A1") gelöscht hatte.
Der Code sieht jetzt so aus und dazu hätte ich zwei Fragen:
Option Explicit
Sub BlattLKanlegen()
Dim objSh As Worksheet, objShNew As Worksheet
Dim LzA As Long
Application.ScreenUpdating = False
'*******Bereich kopieren, in neu angelegtes Blatt kopieren und Blattnamen vergeben
Set objSh = ActiveSheet
With objSh
LzA = Application.Max(7, .Cells(Rows.Count, 5).End(xlUp).Row)
Set objShNew = ActiveWorkbook.Worksheets.Add(after:=objSh)
objShNew.Name = Range("G4") & Format(Now, " hh/mm/ss")
.Range(.Cells(1, 5), .Cells(LzA, 12)).Copy objShNew.Range("A1")
End With
Set objSh = Nothing
Set objShNew = Nothing
End Sub
1.) Was muss ergänzt werden, damit nach dem Kopieren wieder das Ausgangsblatt aktiv ist.
2.) Was muss ergänzt werden, damit alle Formatierungen (auch Spaltenbreite und Zeilenhöhe) mitübernommen werden.
Danke und Servus, Walter
Anzeige
geschlossen
29.07.2011 17:08:06
WalterK
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Fehlerbehebung bei VBA: Der berüchtigte Fehler 400


Schritt-für-Schritt-Anleitung

Wenn du mit dem Fehler 400 in Excel VBA konfrontiert bist, kannst du die folgenden Schritte befolgen, um das Problem zu beheben:

  1. Verweise überprüfen:

    • Öffne den VBA-Editor (ALT + F11).
    • Gehe zu Extras > Verweise.
    • Suche nach nicht vorhandenen Verweisen. Diese werden mit einem Häkchen angezeigt, aber der Name ist durchgestrichen.
  2. Code anpassen:

    • Überprüfe deinen VBA-Code auf mögliche Fehler. Stelle sicher, dass alle Objekte korrekt definiert sind.
    • Entferne unnötige oder fehlerhafte Zeilen, wie z.B. das Range("A1").Select, wenn es nicht benötigt wird.
  3. Formatierungen kopieren:

    • Füge den folgenden Code hinzu, um die Spaltenbreite und Zeilenhöhe mit zu kopieren:
      objShNew.Range("A1:L" & LzA).ColumnWidth = objSh.Range("E1:L" & LzA).ColumnWidth
      objShNew.Rows(1 & ":" & LzA).RowHeight = objSh.Rows(1 & ":" & LzA).RowHeight
  4. Aktuelles Blatt wiederherstellen:

    • Um nach dem Kopieren wieder das Ausgangsblatt zu aktivieren, kannst du diesen Code hinzufügen:
      objSh.Activate

Häufige Fehler und Lösungen

  • Fehler 400: Dies ist oft ein Hinweis auf ein Problem mit einem Verweis. Überprüfe die Verweise im VBA-Editor, um sicherzustellen, dass keine fehlenden Bibliotheken vorhanden sind.

  • Kopieren klappt, aber Fehler 400 erscheint: Wenn der Code bis zum Ende durchläuft, der Fehler aber dennoch auftritt, könnte es an einer vorübergehenden Störung liegen. Probiere, die Datei auf einem anderen Computer zu öffnen.

  • Fehler nach dem Kopieren: Wenn der Fehler weiterhin auftritt, überprüfe, ob du alle notwendigen Objekte korrekt gesetzt hast und keine Referenzen fehlen.


Alternative Methoden

Falls du weiterhin Probleme mit dem Fehler 400 hast, könntest du auch alternative Methoden in Betracht ziehen:

  • Verwendung von Application.DisplayAlerts: Setze Application.DisplayAlerts = False, um störende Meldungen während der Ausführung zu unterdrücken.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung in deinem Code:

    On Error GoTo ErrorHandler
    ' Dein Code hier
    Exit Sub
    ErrorHandler:
    MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du mit Fehler 400 umgehen kannst:

Sub BeispielFehler400()
    On Error GoTo ErrorHandler
    ' Dein Code hier, der möglicherweise Fehler 400 auslösen kann
    Exit Sub
ErrorHandler:
    MsgBox "Fehler 400 aufgetreten: " & Err.Description
End Sub

In diesem Beispiel wird, falls der Fehler 400 auftritt, eine Nachricht angezeigt, die dir hilft, das Problem zu identifizieren.


Tipps für Profis

  • Code regelmäßig aufräumen: Halte deinen Code sauber und gut strukturiert, um mögliche Fehlerquellen zu minimieren. Nutze Kommentare, um komplexe Abschnitte zu erklären.

  • Debugging nutzen: Setze Haltepunkte im VBA-Editor, um den Code Schritt für Schritt durchzugehen. Überprüfe die Werte von Variablen, um herauszufinden, wo der Fehler auftritt.

  • Dokumentation lesen: Informiere dich über die Microsoft-Dokumentation zu Visual Basic for Applications, um besser zu verstehen, wie die verschiedenen Komponenten miteinander interagieren.


FAQ: Häufige Fragen

1. Was bedeutet der Fehler 400 in VBA?
Der Fehler 400 ist ein allgemeiner Fehler, der typischerweise auf ein Problem mit einem Verweis oder auf eine fehlerhafte Ausführung des Codes hinweist.

2. Wie kann ich Fehler 400 vermeiden?
Stelle sicher, dass alle Verweise im VBA-Editor korrekt gesetzt sind und dass dein Code gut strukturiert und fehlerfrei ist.

3. Warum tritt der Fehler 400 nur auf einem bestimmten Computer auf?
Dies kann an unterschiedlichen Office-Versionen oder an fehlenden Add-Ins liegen. Überprüfe die Installation und die verfügbaren Verweise auf dem betroffenen Computer.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige