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

Forumthread: Laufzeitfehler 448

Laufzeitfehler 448
12.02.2005 17:05:55
Thomas
Hallo Leute
Hab´ein dickes Problem!
Vor einigen Wochen habe ich mir ein mächtig gutes Buch über VBA zugelegt,
allerdings wird darin die Version 2002 behandelt.
Klappt trotzdem sehr gut und komme auch vorwärts, bis zu dieser Stelle:

Sub MonateAusblenden()
Dim neuSuchen As Range
Set neuSuchen = Rows(1).Find(What:="01.05.2002", _
After:=Range("A1"), _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False, _
SearchFormat:=False)
Range("C1", neuSuchen.Offset(0, -1)).EntireColumn.Hidden = True
End Sub

"Laufzeitfehler 448, Benanntes Argument nicht gefunden" ist das Ergebnis.
Hat das was mit den unterschiedlichen Excel Versionen zu tun oder wo liegt
der Hund begraben?
Vielen Dank schon mal für Hilfe
Gruß Thomas
Anzeige

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Laufzeitfehler 448
12.02.2005 17:08:22
DieterB
Hallo Thomas,
wird diese Zeile:
Range("C1", neuSuchen.Offset(0, -1)).EntireColumn.Hidden = True
gelb markiert?
Gruß
DieterB
AW: Laufzeitfehler 448
12.02.2005 17:11:39
Thomas
Hallo Dieter
Nein, bis dahin kommt es garnicht.
Stattdessen wird der ganze Block markiert!
Gruß Thomas
AW: Laufzeitfehler 448
Ulf

Sub MonateAusblenden()
Dim neuSuchen As Range
Set neuSuchen = Rows(1).Find(What:="01.05.2002", _
After:=Range("A1"), _
LookIn:=xlFormulas, _
LookAt:=xlWhole, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext)
Range("C1", neuSuchen.Offset(0, -1)).EntireColumn.Hidden = True
End Sub

SearchFormat gabs in E 2000 noch nicht.
Ulf
Anzeige
AW: Laufzeitfehler 448
12.02.2005 17:13:27
Thomas
Hallo Ulf
Diese Info ist schon mal was Wert
Muß mir also was anderse einfallen lassen
Danke
Thomas
AW: Laufzeitfehler 448
Ulf
Ich hab den Code doch geändert, nicht bemerkt?
Ulf
AW: Laufzeitfehler 448
12.02.2005 17:17:31
Thomas
Ups, sorry
Hab´s übersehen
Werd´s gleich mal probieren
Gruß Thomas
Anzeige
AW: Laufzeitfehler 448
12.02.2005 17:21:09
alex
Hallo ihr jetzt wollte ich den Code mal testen und es kommt immer der fehler
Laufzeitfehler 91
Objekt oder With-blockvariable nicht festgelegt.
Was heißt das ?
AW: Laufzeitfehler 448
Ulf
Das bedeutet, dass nichts gefunden wurde.
Ulf
AW: Laufzeitfehler 448
alex
und was wird gesucht ?
Also ich bin och im anfangsstatium mit VBA und wollte mich hier mal durch die codes kämpfen.
Kannst du mir diesen code erklären ? Würde mir sehr helfen !? Danke
Anzeige
AW: Laufzeitfehler 448
Ulf
Das Datum 1.5.2002 wird gesucht.
Ulf
AW: Laufzeitfehler 448
alex
Das habe ich eingetragen in ganz viele zellen aber die meldung kommt trotzdem ?
Bin ich zu blöde ? :(
AW: Laufzeitfehler 448
Ulf
Es wird nur in Zeile 1 gesucht.
Ulf
Anzeige
AW: Laufzeitfehler 448
12.02.2005 17:24:41
Thomas
An alle Beteiligten:
Ich komme zu dem selben Ergebnis.
Thomas
AW: Laufzeitfehler 448
12.02.2005 17:24:44
Thomas
An alle Beteiligten:
Ich komme zu dem selben Ergebnis.
Thomas
;
Anzeige

Infobox / Tutorial

Laufzeitfehler 448 in VBA beheben


Schritt-für-Schritt-Anleitung

  1. Öffne deine Excel-Datei und öffne den VBA-Editor mit ALT + F11.

  2. Füge den folgenden Code in ein neues Modul ein:

    Sub MonateAusblenden()
        Dim neuSuchen As Range
        Set neuSuchen = Rows(1).Find(What:="01.05.2002", _
            After:=Range("A1"), _
            LookIn:=xlFormulas, _
            LookAt:=xlWhole, _
            SearchOrder:=xlByRows, _
            SearchDirection:=xlNext)
        If Not neuSuchen Is Nothing Then
            Range("C1", neuSuchen.Offset(0, -1)).EntireColumn.Hidden = True
        Else
            MsgBox "Datum nicht gefunden!"
        End If
    End Sub
  3. Starte das Makro und beobachte, ob der Laufzeitfehler 448 weiterhin auftritt.

  4. Prüfe die Zeile, die den Fehler verursacht, und stelle sicher, dass die gesuchte Zelle tatsächlich das Datum "01.05.2002" enthält.


Häufige Fehler und Lösungen

  • Laufzeitfehler 448: Benanntes Argument nicht gefunden

    • Ursache: Das Argument SearchFormat wird in älteren Excel-Versionen (wie Excel 2000) nicht unterstützt. Entferne dieses Argument, wenn du eine ältere Version verwendest.
  • Laufzeitfehler 91: Objekt oder With-Blockvariable nicht festgelegt

    • Ursache: Besonders wenn die Methode .Find kein Ergebnis zurückgibt. Überprüfe, ob das Datum in Zeile 1 vorhanden ist.

Alternative Methoden

  • Verwendung von Autofilter: Anstatt VBA zu benutzen, kannst du auch den Autofilter verwenden, um Daten auszublenden oder anzuzeigen.
  • Bedingte Formatierung: Setze eine bedingte Formatierung, um Zellen mit bestimmten Werten hervorzuheben, anstatt sie auszublenden.

Praktische Beispiele

Um ein besseres Verständnis zu bekommen, hier ein Beispiel für die Verwendung des geänderten Codes:

Sub BeispielDatumSuchen()
    Dim gefunden As Range
    Set gefunden = Rows(1).Find(What:="01.05.2002", LookIn:=xlFormulas)
    If Not gefunden Is Nothing Then
        MsgBox "Datum gefunden in Zelle: " & gefunden.Address
    Else
        MsgBox "Datum nicht gefunden!"
    End If
End Sub

Dieses Beispiel zeigt, wie du das gesuchte Datum finden und eine Nachricht anzeigen kannst, anstatt die Spalte auszublenden.


Tipps für Profis

  • Debugging: Nutze die Debugging-Tools im VBA-Editor, um den Code Schritt für Schritt auszuführen und Variablen zu überwachen.

  • Fehlerbehandlung: Implementiere eine Fehlerbehandlung in deinem Code, um unerwartete Fehler abzufangen:

    On Error Resume Next
    ' Dein Code hier
    On Error GoTo 0
  • Dokumentation: Halte deinen Code gut dokumentiert, damit du bei zukünftigen Anpassungen leichter nachvollziehen kannst, was jeder Abschnitt bewirken soll.


FAQ: Häufige Fragen

1. Warum erhalte ich den Laufzeitfehler 448? Der Laufzeitfehler 448 kann auftreten, wenn du ein Argument verwendest, das in deiner Excel-Version nicht unterstützt wird. Überprüfe, ob du alle nicht benötigten Argumente entfernt hast.

2. Was ist der Unterschied zwischen .Find und Autofilter in Excel? .Find ist eine VBA-Methode, die es dir ermöglicht, spezifische Werte in einem Bereich zu suchen, während Autofilter eine benutzerfreundliche Methode ist, um Daten in einer Tabelle zu filtern und anzuzeigen.

3. Wie kann ich sicherstellen, dass mein Code auch in älteren Versionen funktioniert? Teste deinen Code in der ältesten Version, die du unterstützen möchtest, und halte dich an die Funktionen, die in dieser Version verfügbar sind. Vermeide die Verwendung neuerer Argumente und Methoden.

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