Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Laufzeitfehler 424 Objekt erforderlich

Forumthread: Laufzeitfehler 424 Objekt erforderlich

Laufzeitfehler 424 Objekt erforderlich
15.02.2004 14:53:49
Michael Rapp
Hallo Excel Freunde,
ich brauche einen Tipp zu einer Fehlermeldung, die immer wieder bei meiner Userform auftritt.
Mit der Userform kann man eine beliebige Zellenauswahl oder den Druckbereich als JPG Datei speichern. Mit dem Aufruf Application.InputBox öffnet sich ein Fenster mit Zellbereich, der auch eine Eingabe mit der Maus erlaubt. Nach dem Selektieren deiner Zellauswahl kommt folgende Fehlermeldung: Laufzeitfehler 424 Objekt erforderlich.
Das Optionsfeld ist mit folgendem Code gestaltet:
Option Explicit
Public strChoice As String
Public objChoiceArea As Object


Private Sub cmd_Selection_Click()
Dim strAnswer As String
Dim intLegalSelection As Integer
SelectionStart:
strChoice = ActiveSheet.PageSetup.PrintArea
Set objChoiceArea = Application.InputBox(prompt:="Bitte markieren Sie den gewünschten Bereich mit der Maus"), _Default:=strChoice, Type:=8)
' Hier tritt die Fehlermeldung auf
If Not TypeName(objChoiceArea) = "Range" Then
If TypeName(objChoiceArea) Like "*Chart*" Then
intLegalSelection = 1
GoTo Test
Else
intLegalSelection = 3
GoTo Test
End If
End If
'   Check that the current range has only one area - the copypicture
'   method will not work if it is a multiple selection
If Not objChoiceArea.Areas.Count = 1 Then
intLegalSelection = 3
Else
intLegalSelection = 2
End If
Test:
Select Case intLegalSelection
Case 1
Exit Sub
Case 2
Exit Sub
Case 3
strAnswer = MsgBox("Bitte einen zusammenhängenden Bereich auswählen", vbYesNo)
If strAnswer = vbNo Then Unload Me
If strAnswer = vbYes Then GoTo SelectionStart
End Select
End Sub


Danke für Eure Hilfe
Michael
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 424 Objekt erforderlich
15.02.2004 15:15:20
Alex K.
Hallo Michael,
tausche mal

Set objChoiceArea = Application.InputBox(prompt:="Bitte markieren Sie den gewünschten Bereich mit der Maus"), _Default:=strChoice, Type:=8)

gegen
Set objChoiceArea = Application.InputBox(prompt:="Bitte markieren Sie den gewünschten Bereich mit der Maus", Default:=strChoice, Type:=8)

dann geht es bei mir.
Anzeige
Zusatz
15.02.2004 15:19:49
Alex K.
Hallo Michael,
habe nocht festgestellt, dass bei Button "Abbrechen" ein Laufzeitfehler kommt. Also diesen musst du abfangen:

On Error Resume Next
Set Set objChoiceArea = Application.InputBox(prompt:="Bitte ....
If Err.Number <> 0 then 'Button "Abbrechen" gedrückt
Err.Clear
Exit Sub
End If

Anzeige
AW: Zusatz
15.02.2004 18:35:47
Michael Rapp
Hi Alex,
Danke für deine Hilfe. Die Abfangroutine hilft mir weiter mit dem Fehler umzugehen. Leider kommt Fehler 424 weiterhin vor. Nicht immer, sondern nur unter Bedingungen deren Gemeinsamkeit ich noch nicht herausgefunden habe. Bei einfachen Zellen funktioniert es ok. Bei Bereichen, die einige verbundene Zellen haben, tritt der Fehler auf, obwohl der Zellbereich, der in der Inputbox gezeigt wird, korrekt zu ein scheint.
Michael
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Laufzeitfehler 424 - Objekt erforderlich in Excel VBA beheben


Schritt-für-Schritt-Anleitung

Wenn Du mit dem Laufzeitfehler 424 - Objekt erforderlich in Excel VBA konfrontiert wirst, kannst Du die folgenden Schritte befolgen, um das Problem zu beheben:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel.
  2. Suche die Stelle im Code, wo der Fehler auftritt. In unserem Beispiel bezieht sich der Fehler auf den Application.InputBox.
  3. Ändere die Zeile:
    Set objChoiceArea = Application.InputBox(prompt:="Bitte markieren Sie den gewünschten Bereich mit der Maus"), _Default:=strChoice, Type:=8)

    in:

    Set objChoiceArea = Application.InputBox(prompt:="Bitte markieren Sie den gewünschten Bereich mit der Maus", Default:=strChoice, Type:=8)
  4. Füge eine Fehlerbehandlungsroutine hinzu, um den Fehler abzufangen, wenn der Benutzer auf "Abbrechen" klickt:
    On Error Resume Next
    Set objChoiceArea = Application.InputBox(prompt:="Bitte markieren Sie den gewünschten Bereich mit der Maus", Default:=strChoice, Type:=8)
    If Err.Number <> 0 Then
       Err.Clear
       Exit Sub
    End If
  5. Teste den Code, um sicherzustellen, dass der Fehler nicht mehr auftritt.

Häufige Fehler und Lösungen

Hier sind einige häufige Gründe, warum der Laufzeitfehler 424 in VBA auftritt, und wie Du sie beheben kannst:

  • Falsche Syntax bei der InputBox: Achte darauf, dass Du die Parameter korrekt übergibst. Fehler in der Syntax können oft zu einem vba laufzeitfehler 424 objekt erforderlich führen.

  • Leere oder ungültige Auswahl: Wenn der Benutzer keine Zellen auswählt und auf "OK" klickt, kann der Fehler ausgelöst werden. Füge eine Überprüfung hinzu, um sicherzustellen, dass eine gültige Auswahl getroffen wurde.

  • Verbundene Zellen: Bei verbundenen Zellen kann der Fehler laufzeitfehler 424 objekt erforderlich excel auftreten. Stelle sicher, dass der Code mit verbundenen Zellen umgehen kann.


Alternative Methoden

Wenn Du weiterhin Probleme mit dem Laufzeitfehler 424 hast, kannst Du alternative Methoden in Betracht ziehen:

  • Verwende Application.InputBox mit dem Type:=2 Parameter, um nur Text zu akzeptieren und so die Auswahl von Zellen zu vermeiden.

  • Ziehe die Verwendung von UserForms in Betracht, um eine benutzerfreundliche Oberfläche zu erstellen, die die Auswahl von Zellen erleichtert.


Praktische Beispiele

Hier ein einfaches Beispiel, wie Du den Laufzeitfehler 424 in einem UserForm umgehen kannst:

Private Sub cmd_Selection_Click()
    On Error Resume Next
    Set objChoiceArea = Application.InputBox(prompt:="Bitte markieren Sie den gewünschten Bereich mit der Maus", Default:=strChoice, Type:=8)

    If Err.Number <> 0 Then
        MsgBox "Abbruch oder ungültige Auswahl. Bitte erneut versuchen.", vbExclamation
        Err.Clear
        Exit Sub
    End If
    ' Weiterer Code...
End Sub

Durch das Hinzufügen von On Error Resume Next und einer Überprüfung des Err.Number vermeidest Du den Laufzeitfehler.


Tipps für Profis

  • Nutze die Debugging-Tools in VBA, um den Code Schritt für Schritt zu durchlaufen. So kannst Du leichter feststellen, wo der Fehler auftritt.

  • Dokumentiere Deinen Code ausführlich, um später einfacher Fehlerquellen zu identifizieren.

  • Teste Deinen Code regelmäßig, besonders wenn Du Änderungen vornimmst, um sicherzustellen, dass keine neuen Fehler wie fehler beim kompilieren objekt erforderlich auftreten.


FAQ: Häufige Fragen

1. Was bedeutet Laufzeitfehler 424?
Der Laufzeitfehler 424 tritt auf, wenn ein Objekt, auf das verwiesen wird, nicht vorhanden ist oder nicht korrekt definiert wurde.

2. Wie kann ich den Fehler 424 in Excel VBA vermeiden?
Achte darauf, dass Du alle Objekte korrekt initialisierst und Überprüfungen implementierst, um ungültige Eingaben abzufangen.

3. Was kann ich tun, wenn die Fehlermeldung weiterhin erscheint?
Überprüfe Deinen Code auf weitere Stellen, an denen Objekte nicht korrekt gesetzt oder verwendet werden. Nutze auch die Möglichkeit, Debugging-Tools einzusetzen.

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