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

Forumthread: VLookup bringt Fehler 2042

VLookup bringt Fehler 2042
01.11.2012 17:04:46
cirilfab
Hallo Zusammen,
In einem grösseren Makro stehe ich leider bei folgendem VBA-Schnipsel an:
var1 = CVar(Application.VLookup(TextBox1.Value, Sheets("Uebersicht_Inventur").Range("A2:c65000"), 3, 0))
ich habe var1 als Variant definiert und in einer UserForm eine Zahl in der Textbox1 reingeschrieben. Hierbei möchte ich nun, dass per Makro in einer Liste (Uebersicht_Inventur) der dazugehörige Wert in Spalte 3 wiedergegeben wird, wenn die Zahl aus Textbox1 in der Liste (range a2:c65000) gefunden wird.
Das Ergebnis ohne CVar gibt den Fehler 2042 zurück obwohl in der Tabelle definitiv eine Zahl an entsprechender Stelle in Spalte 3 steht. Mit CVar erhalte ich dann einfach den Wert 2042.
Was habe ich da falsch definiert?
Danke und Gruss,
cirilfab

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VLookup bringt Fehler 2042
01.11.2012 17:07:23
{Boris}
Hi,
die Textbox liefert Text als Rückgabewert - in Deiner Suchmatrix stehen aber sicherlich Zahlen. Das funktioniert dann natürlich nicht.
Wandel den Textbox-Eintrag in eine Zahl um mit z.B. CDbl(TextBox1.Value)
VG, Boris

AW: VLookup bringt Fehler 2042
01.11.2012 17:14:24
cirilfab
Ciao Boris,
Wow, Antwort innerhalb 5 min und dann funktioniert das ganze auch noch super!
DANKE, Problem gelöst!!!
Grüsse,
cirilfab

Anzeige
AW: VLookup bringt Fehler 2042
01.11.2012 17:07:45
Hajo_Zi
Du suchst nach Text und nicht nach einer Zahl.

;
Anzeige
Anzeige

Infobox / Tutorial

VLookup Fehler 2042 in Excel beheben


Schritt-für-Schritt-Anleitung

Um den VLookup Fehler 2042 in Excel zu beheben, kannst du folgende Schritte ausführen:

  1. Überprüfe die Daten: Stelle sicher, dass die Werte in deiner Textbox vom Typ Zahl sind, und nicht als Text gespeichert sind.

  2. Umwandlung des Textes: Verwende die Funktion CDbl(), um den Wert aus der Textbox in eine Zahl umzuwandeln. Dein VBA-Code sollte wie folgt aussehen:

    var1 = CVar(Application.VLookup(CDbl(TextBox1.Value), Sheets("Uebersicht_Inventur").Range("A2:C65000"), 3, 0))
  3. Fehlerüberprüfung: Füge eine Fehlerüberprüfung hinzu, um sicherzustellen, dass der Wert gefunden wurde, und um den error 2042 vba zu vermeiden.

    If IsError(var1) Then
       MsgBox "Wert nicht gefunden!"
    End If
  4. Testen: Führe das Makro erneut aus und überprüfe, ob das Problem behoben ist.


Häufige Fehler und Lösungen

  • Fehler 2042 bei VLookup: Dieser Fehler tritt auf, wenn der Suchwert nicht in der angegebenen Matrix gefunden wird. Überprüfe, ob der Wert in der Textbox und in der Tabelle übereinstimmt.

  • Text statt Zahl: Wenn du einen Textwert suchst, der als Zahl gespeichert ist, wird der VLookup Fehler 2042 angezeigt. Stelle sicher, dass du den Textwert in eine Zahl umwandelst, wie oben beschrieben.

  • Falscher Bereich: Achte darauf, dass der Bereich, den du für den VLookup verwendest, korrekt definiert ist. Achte darauf, dass sowohl die Suchspalte als auch die Rückgabespalte die richtigen Datentypen haben.


Alternative Methoden

Eine alternative Methode zur Vermeidung des excel vlookup error ist die Verwendung der Index- und Match-Funktionen:

var1 = Application.Index(Sheets("Uebersicht_Inventur").Range("C2:C65000"), Application.Match(CDbl(TextBox1.Value), Sheets("Uebersicht_Inventur").Range("A2:A65000"), 0))

Diese Methode kann oft stabiler sein und vermeidet einige der typischen Fehler, die bei VLookup auftreten können.


Praktische Beispiele

Hier sind einige praktische Beispiele:

  1. Beispiel 1: Angenommen, du hast eine Liste von IDs in Spalte A und zugehörige Werte in Spalte C. Um den Wert basierend auf einer Eingabe in der Textbox zu finden, kannst du den oben erläuterten Code verwenden.

  2. Beispiel 2: Wenn du mit einer UserForm arbeitest, stelle sicher, dass die Textbox richtig konfiguriert ist, um Zahlen einzugeben, um excel fehler 2042 zu vermeiden.


Tipps für Profis

  • Verwende Fehlerbehandlungsroutinen: Implementiere On Error Resume Next und On Error GoTo 0 in deinem VBA-Code, um unerwartete Fehler besser zu handhaben.

  • Datenvalidierung: Füge Datenvalidierung in deiner UserForm hinzu, um sicherzustellen, dass nur gültige Eingaben (Zahlen) akzeptiert werden.

  • Dokumentiere deinen Code: Schreibe Kommentare in deinen Code, um zu erläutern, was jede Funktion macht, insbesondere wenn du mit VLookup und anderen Formeln arbeitest.


FAQ: Häufige Fragen

1. Was bedeutet der Fehler 2042 in Excel?
Der Fehler 2042 bedeutet, dass VLookup den gesuchten Wert nicht finden konnte. Dies kann an einer falschen Eingabe oder an einem falschen Datenformat liegen.

2. Wie kann ich sicherstellen, dass meine Textbox eine Zahl enthält?
Verwende die Funktion IsNumeric(TextBox1.Value), um zu überprüfen, ob der Inhalt der Textbox eine Zahl ist, bevor du ihn in VLookup verwendest.

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