ComboBox und Textbox

  • Excel

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von daytona.

    ComboBox und Textbox

    Hallo VBA Gemeinde,

    ich hab eine Userform, in welcher ich mit der ComboBox1 Werte aus Spalte A auflisten/anzeigen kann. Ich möchte nun nach Auswahl eines Wertes in der ComboBox1 (bzw. Spalte A) in einer Textbox1 in dieser Userform den dazugehörigen Wert aus Spalte B angezeigt bekommen.

    Visual Basic-Quellcode

    1. With ComboBox1
    2. For x = 2 To Vokabeln.UsedRange.Rows.Count
    3. If Cells(x, 1).Value <> "" Then
    4. .AddItem Cells(x, 1).Value
    5. End If
    6. Next x
    7. End With


    Schon mal Danke im Voraus.
    eine kleine schwierigkeit besteht allerdings noch:

    ich habe eine weitere ComboBox2 deren Inhalt aus mehreren Spalten gezogen wird (Spalte B, C und D). Wenn ich gleichen Code wie oben neben möchte muss ich diesen ja auf mehrer Spalten erweitern, also nicht columns(2), 0) sondern.... ???

    Visual Basic-Quellcode

    1. Private Sub ComboBox2_Click()
    2. lngRow = WorksheetFunction.Match(ComboBox2.Value, Sheets("Tabelle1").Columns(2), 0)
    3. TextBox4.Value = Sheets("Tabelle1").Cells(lngRow, 1).Value
    4. End Sub


    Danke
    sorry, versuchs nochmal zu beschrieben:

    ich hab eine combobox2, deren inhalt besteht aus spalte B, spalte C und spalte D. wenn ich jetzt in einer textbox den dazugehörigen wert aus spalte A anzeigen möchte hab ich schwierigkeiten.

    ich dachte ich nehm den code den du mir am 25.10. gesendet hast und änder den. bloß irgendwie klappt das nciht. ich muss an der Stelle WorksheetFunction.Match(ComboBox2.Value, Sheets("Tabelle1").Columns(2), 0) ....... den bereich erweitern oder???
    Den Bereich könnte man mit Columns("B : D") erweitern, jedoch braucht man bei "Match", sprich VERGLEICH, eindimendionale Arrays. Es wird also nicht funktionieren.

    Du kannst jedoch mithilfe von "CountIf" (ZÄHLENWENN) herausfinden, in welcher Spalte der Wert ist, und auf diese Spalte "Match" anwenden:

    Visual Basic-Quellcode

    1. Private Sub ComboBox2_Click()
    2. Spalte = 0
    3. For i = 2 To 4
    4. If WorksheetFunction.CountIf(Sheets("Tabelle1").Columns(i), ComboBox2.Value) > 0 Then
    5. Spalte = i
    6. Exit For
    7. End If
    8. Next
    9. If Spalte = 0 Then MsgBox "nicht gefunden!"
    10. Zeile = WorksheetFunction.Match(ComboBox2.Value, Sheets("Tabelle1").Columns(Spalte), 0)
    11. TextBox4.Value = Sheets("Tabelle1").Cells(Zeile, Spalte).Value
    12. End Sub