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

Forumthread: SVERWEIS als VBA Code

SVERWEIS als VBA Code
06.06.2017 11:50:10
Sandra
Hallo Forum,
ich muss mal wieder auf Eure Hilfe zurück greifen :)
Ich habe eine Userform erstellt. Mit einer TextBox1 und einem Label3. Wenn ich in die Textbox eine Artikelnummer eingebe, soll in Label3 der Lagerort angezeigt werden.
Also ein ganz normaler =SVERWEIS(C29;Tabelle2;2;FALSCH)
Aber wie bekomme ich diesen SVERWEIS nun als VBA in meine Userform. Bin was VBA angeht, bis auf ein paar Kleinigkeiten, noch ganz am Anfang. Habe es schon mit dem Aufzeichnen eines Makros versucht, dies ist allerdings kläglich gescheitert :(
Danke für Eure Hilfe!!!
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: SVERWEIS als VBA Code
06.06.2017 12:05:29
Werner
Hallo Sandra,
hier hast du uns nicht verraten, in welchen Spalten sich deine Matrix befindet.
~f~=SVERWEIS(C29;Tabelle2;2;FALSCH)~f~
Bei meinem Beispiel bin ich mal davon ausgegangen, dass es sich um die Spalten A:B in der Tabelle2 handelt. Das mußt du dann ggf. an deine Bedürfnissse anpassen.
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Label3.Caption = WorksheetFunction.VLookup(TextBox1.Value, Worksheets("Tabelle2").Range("A:B"),  _
2, False)
End Sub
Gruß Werner
Anzeige
AW: SVERWEIS als VBA Code
06.06.2017 12:45:28
Sandra
Hallo Werner,
erstmal vielen Dank für die schnelle Antwort.
Es handelt sich hier um Tabelle2, nicht um das Tabellenblatt "Tabelle2", deswegen habe ich nichts weiter verraten. Bin da leider etwas Faul mit der Namensvergebung :)
Habe alles soweit angepasst. Funktioniert!
Vielen, vielen Dank an Dich
Anzeige
AW: Gerne u. Danke für die Rückmeldung. o.w.T.
06.06.2017 13:16:53
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

SVERWEIS in VBA umsetzen


Schritt-für-Schritt-Anleitung

Um den SVERWEIS in VBA zu nutzen, folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11 in Excel.

  2. Erstelle eine Userform: Füge eine Userform hinzu, indem du im Projektfenster mit der rechten Maustaste auf dein Projekt klickst und "UserForm einfügen" wählst.

  3. Füge Steuerelemente hinzu: Platziere eine TextBox (z.B. TextBox1) und ein Label (z.B. Label3) auf der Userform.

  4. Füge den VBA-Code hinzu: Klicke doppelt auf die TextBox und füge den folgenden Code ein:

    Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
       Label3.Caption = WorksheetFunction.VLookup(TextBox1.Value, Worksheets("Tabelle2").Range("A:B"), 2, False)
    End Sub
  5. Teste die Userform: Schließe den VBA-Editor und starte die Userform, um den SVERWEIS zu testen.


Häufige Fehler und Lösungen

  • Fehler: "Typen unverträglich": Stelle sicher, dass die Werte in der TextBox und der Tabelle den gleichen Datentyp haben (z.B. beide als Text).
  • Fehler: "Objekt nicht gefunden": Überprüfe den Namen des Arbeitsblatts und die Spaltenreferenzen in deinem VBA-Code.
  • Fehler: "Keine Übereinstimmung gefunden": Achte darauf, dass der gesuchte Wert tatsächlich in der ersten Spalte der Tabelle vorhanden ist.

Alternative Methoden

Wenn du nach einer Alternative zum SVERWEIS suchst, kannst du den XVERWEIS verwenden. Hier ist ein Beispiel, wie du den XVERWEIS in VBA einsetzen kannst:

Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Label3.Caption = Application.WorksheetFunction.XLookup(TextBox1.Value, Worksheets("Tabelle2").Range("A:A"), Worksheets("Tabelle2").Range("B:B"))
End Sub

Der XVERWEIS ist flexibler und kann auch mit mehreren Suchkriterien arbeiten.


Praktische Beispiele

Hier sind einige praktische Beispiele für die Nutzung des SVERWEIS in VBA:

  1. Lagerort suchen:
    • Wenn du eine Artikelnummer in die TextBox eingibst, wird der Lagerort aus der Tabelle2 in das Label ausgegeben.
  2. Preis abfragen:
    • Ändere die Range und die Spaltennummer, um den Preis eines Artikels anzuzeigen.
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    Label3.Caption = WorksheetFunction.VLookup(TextBox1.Value, Worksheets("Tabelle2").Range("A:C"), 3, False)
End Sub

Tipps für Profis

  • Verwende Option Explicit am Anfang deiner Module, um sicherzustellen, dass alle Variablen deklariert werden.
  • Teste deinen Code regelmäßig, um Fehler frühzeitig zu erkennen.
  • Nutze Kommentare im Code, um die Funktionsweise zu erklären.

FAQ: Häufige Fragen

1. Wie kann ich den SVERWEIS in VBA anpassen?
Du kannst die Range und die Spaltennummer im VLookup-Befehl ändern, um die Datensätze anzupassen, die du abrufen möchtest.

2. Ist der XVERWEIS in VBA verfügbar?
Ja, der XVERWEIS kann in VBA verwendet werden, wenn du Excel 365 oder Excel 2021 verwendest.

3. Was tun, wenn ich NULL-Werte zurückbekomme?
Verwende die IfError-Funktion, um NULL-Werte zu behandeln und stattdessen eine benutzerfreundliche Nachricht anzuzeigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige