Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

ComboBox VlookUp nach links für Textbox

Betrifft: ComboBox VlookUp nach links für Textbox von: Nilo
Geschrieben am: 03.09.2020 12:24:29

Hi zusammen,
so viel Dinge ich lernen will :)

Ich befülle eine Combobox
Bei Auswahl eines Items (oder Indexeintrags) befülle ich eine Textbox via VlookUp so:

  • Private Sub ComboBox7_Change()
    Dim keditor As Long
    keditor = Sheets("Editor").Cells(Rows.Count, 1).End(xlUp).Row
    
        TextBox1.text = Application.VLookup(ComboBox7.Value, Worksheets("Editor").Range("A2:E" &  _
    keditor), 2, False)
    
    End Sub


  • Das klappt sehr gut, jedoch was oder wie muss ich es machen wenn der zu findene Begriff nicht links von Suchbegriff steht
    sondern links?

    Per Formel weiß ich per Index Vergleich geht das easy, aber wie geht das in VBA ?`

    Danke für die Hilfe im Voraus
    Gruß
    Nilo

    Betrifft: AW: ComboBox VlookUp nach links für Textbox
    von: Daniel
    Geschrieben am: 03.09.2020 12:35:24

    Hi
    auch in VBA kann man mit Index und Vergleich arbeiten.
    Vergleich heißt in VBA Application.Match, Index heißt Worksheetfunction.Index

    in VBA nehme sich statt VLookUp mit False aber lieber .FIND zum Suchen des Eintrags und springe dann mit .Offset zur Ergebniszelle.

    wenn die Werte für die Combobox 1:1 aus der Liste (also unverändert) übernommen werden, dann kann man auch direkt aus dem ListIndex die Zeilennummer berechnen und dann mit Cells(Zeile + ComboboxX.ListIndex, Spalte) zugreifen.

    sollten die Werte der Combobox stammen aber verändert werden (umsortiert, keine Duplikate, keine Leerzeilen), könnte man beim erstellen der Combobox auch gleich die Zeilennnummer des jeweiligen Wertes in die zweite Spalte der Comboboxliste schreiben und dann diesen Wert verwenden.

    du siehst, Möglichkeiten gibt es viele.

    Gruß Daniel

    Betrifft: AW: ComboBox VlookUp nach links für Textbox
    von: Werner
    Geschrieben am: 03.09.2020 12:36:55

    Hallo,

    bei deinem hier gezeigten Code mit VLOOKUP suchst du in Spalte A und gibst das Ergebnis aus Spalte B aus.

    Links von Spalte A gibt es nichts mehr.

    Also wo (in welcher Spalte) suchst du deinen Suchbegriff aus der ComboBox7 und in welcher Spalte steht der Wert den du in der TextBox ausgeben willst?

    Gruß Werner

    Betrifft: erstmal gelöst mit Cells.Find(What
    von: Nilo
    Geschrieben am: 03.09.2020 13:26:54

    Hi,
    @Werner, ja das war von mir nicht richtig beschrieben.

    Habs jetzt so gemacht Q&D (ohne Prüfung ob Vorhanden oder nicht):
    TextBox1.text = ActiveWorkbook.Sheets("Editor").Cells.Find(What:=ComboBox7.Value, LookIn:=xlValues, LookAt:=xlPart, MatchCase:=False).Offset(0, -12)
    Ist bestimmt nicht die beste Lösung aber eine die ich selber erstmal verstehe :)

    Danke für die Tipps
    Gruß
    Nilo

    Beiträge aus dem Excel-Forum zum Thema "ComboBox VlookUp nach links für Textbox"