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

Forumthread: sverweis mit VBA (VLOOKUP)

sverweis mit VBA (VLOOKUP)
08.01.2006 12:58:53
Björn
Hallo Leute,
ich möchte in einer Userform ein Verweis haben und beim Verlassen der TextBox1 soll im Label1 der entsprechende Text angezeigt werden. Die Werte für den Verweis sollen aus Tabelle1 und dem Bereich von A1 bis B500 gezogen werden. Es klappt aber leider nicht:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Label1.Caption = Application.WorksheetFunction.VLookup(TextBox1.Value, _
Sheets("Tabelle1").Range("A1:B500").Select, 2, False)
End Sub

Helft mir bitte!
Gruß Björn
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: sverweis mit VBA (VLOOKUP)
08.01.2006 13:21:55
Peter
Servus,
auf den ersten kurzen Blick würde ich mal sagen hau das select raus.
Wenn´s nicht klappt Bsp. hochladen.
MfG Peter
AW: sverweis mit VBA (VLOOKUP)
08.01.2006 16:18:59
et999
Hi,
also ich würde auf den ersten Blick sagen mach aus dem Labell ein Label1.
Gruß
Uwe
(:o)
AW: sverweis mit VBA (VLOOKUP)
08.01.2006 17:31:09
Björn
Hallo ihr,
hier mal die Datei:
https://www.herber.de/bbs/user/29834.xls
Gruß Björn
Anzeige
AW: sverweis mit VBA (VLOOKUP)
08.01.2006 17:39:07
Peter
Servus,
Sverweis such egal ob in VBA oder Excel immer in der ersten Spalte der Matrix, da es sich bei dir um Zahlen handelt findet er logischerweisse nichts (Textbox).
Schreib´s so, dann klappts auch
Label1.Caption = Application.WorksheetFunction.VLookup(Me.TextBox1.Value * 1, _
Sheets("Tabelle1").Range("A1:B500"), 2, False)

MfG Peter
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

sverweis in vba: So funktioniert's


Schritt-für-Schritt-Anleitung

  1. Öffne die VBA-Entwicklungsumgebung in Excel, indem Du ALT + F11 drückst.
  2. Füge eine Userform hinzu, indem Du im Menü Einfügen die Option UserForm wählst.
  3. Füge eine TextBox und ein Label zu Deiner Userform hinzu. Benenne die TextBox als TextBox1 und das Label als Label1.
  4. Klicke mit der rechten Maustaste auf die Userform und wähle Code anzeigen.
  5. Füge den folgenden Code in das Codefenster ein:

    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
       Label1.Caption = Application.WorksheetFunction.VLookup(Me.TextBox1.Value * 1, _
       Sheets("Tabelle1").Range("A1:B500"), 2, False)
    End Sub
  6. Schließe die VBA-Entwicklungsumgebung und teste Deine Userform.

Häufige Fehler und Lösungen

  • Fehler: „#N/A“ wird angezeigt
    Dieser Fehler tritt auf, wenn der gesuchte Wert nicht in der ersten Spalte des angegebenen Bereichs vorhanden ist. Stelle sicher, dass die Eingabe in TextBox1 mit einem Wert in Tabelle1 übereinstimmt.

  • Fehler: „Typen unverträglich“
    Dies passiert, wenn die Eingabe in TextBox1 kein Zahlenwert ist, aber Du versuchst, diesen als Zahl zu verarbeiten. Verwende den Code wie oben beschrieben (mit * 1), um sicherzustellen, dass der Wert als Zahl interpretiert wird.


Alternative Methoden

Falls Du den SVERWEIS in VBA nicht verwenden möchtest, gibt es alternative Ansätze:

  • Verwende den Match-Befehl: Du kannst den gesuchten Wert mit WorksheetFunction.Match finden und dann den entsprechenden Wert abrufen.
  • Direkte Zellreferenzierung: Anstatt VBA zu verwenden, kannst Du die Formel =SVERWEIS(A1;Tabelle1!A1:B500;2;FALSCH) direkt in eine Zelle eingeben.

Praktische Beispiele

Hier sind einige praktische Beispiele, wie Du SVERWEIS in VBA effektiv nutzen kannst:

Beispiel 1: Einfacher SVERWEIS

Label1.Caption = Application.WorksheetFunction.VLookup(TextBox1.Value, Sheets("Tabelle1").Range("A1:B500"), 2, False)

Beispiel 2: Mit Fehlerbehandlung

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    On Error Resume Next
    Label1.Caption = Application.WorksheetFunction.VLookup(Me.TextBox1.Value * 1, Sheets("Tabelle1").Range("A1:B500"), 2, False)
    If Err.Number <> 0 Then
        Label1.Caption = "Wert nicht gefunden"
        Err.Clear
    End If
End Sub

Tipps für Profis

  • Verwende Option Explicit: Dies hilft, Fehler zu vermeiden, indem es sicherstellt, dass alle Variablen deklariert sind.
  • Vermeide das .Select: In VBA ist es besser, .Select zu vermeiden, um die Ausführungsgeschwindigkeit zu erhöhen und den Code übersichtlicher zu gestalten.
  • Teste regelmäßig: Überprüfe Deinen Code häufig auf Fehler, besonders wenn Du mit Benutzerformularen arbeitest.

FAQ: Häufige Fragen

1. Was ist der Unterschied zwischen SVERWEIS und VLOOKUP?
Es gibt keinen Unterschied; SVERWEIS ist die deutsche Bezeichnung für die Funktion VLOOKUP in Englisch.

2. Funktioniert SVERWEIS auch mit nicht sortierten Daten?
Ja, der SVERWEIS kann auch mit nicht sortierten Daten arbeiten, solange Du den letzten Parameter auf FALSCH setzt.

3. Wie kann ich mehrere Werte gleichzeitig abrufen?
Du kannst SVERWEIS nicht direkt für mehrere Werte verwenden. Stattdessen musst Du separate Aufrufe für jeden Wert durchführen oder eine benutzerdefinierte Funktion schreiben.

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