TextBox Abhängigkeit von Listbox

  • Excel

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von MacLeod.

    TextBox Abhängigkeit von Listbox

    Guten Morgen Community,

    frage...
    Ist es möglich, von einer ListBox zu einen TextBox in Anhängigkeit zu bringen.
    von TextBox zu ListBox habe ich es hinbekommen, aber leider nicht anderes rum.
    (von ListBox zu Textbox) bekomme ich es einfach nicht hin.

    Mein Code

    Visual Basic-Quellcode

    1. Private Sub UserForm_Activate()
    2. Dim dict As Object, arr As Variant
    3. Dim lZeile As Long
    4. ' Tabelle 3 Daten in Array einlesen
    5. With Tabelle3
    6. lZeile = .Cells(Rows.Count, 2).End(xlUp).Row
    7. arr = .Range(.Cells(2, 1), .Cells(lZeile, 9)).Value '9 sind die anzahl der Spalten wo er sucht, und muss gesetzt werden.
    8. End With
    9. ' call Function für ComboBox & Listbox
    10. Set dict = CreateObject("Scripting.Dictionary")
    11. key6 = Set_Keys(dict, arr, 3, 6) ' ComboBox212
    12. key7 = Set_Keys(dict, arr, 6, 7) ' ComboBox213 & Listbox301
    13. Set dict = Nothing
    14. End Sub


    Visual Basic-Quellcode

    1. Private Sub ListBox301_Change()
    2. Dim wert As Variant
    3. Dim i As Long
    4. With Me
    5. ' alte Werte löschen...
    6. .ComboBox302.Clear
    7. TextBox303 = ""
    8. ' und neue eintragen
    9. For i = 0 To UBound(key7)
    10. wert = Split(key7(i), "|")
    11. If .ListBox301 = wert(0) Then .ComboBox302.AddItem wert(1)
    12. Next i
    13. .ComboBox302.Clear
    14. TextBox303 = ""
    15. For i = 0 To UBound(key7)
    16. wert = Split(key7(i), "|")
    17. If wert(1) <> "" And .ListBox301 = wert(0) Then .TextBox303 wert(1)
    18. 'Next i
    19. End With
    20. End Sub


    Ist es möglich, den wert von der Listbox als Abhängigkeit zu TextBox zu bringen?
    (Der Wert ist in Tabelle3 hinterlegt. von Spalte 6 zu 7

    Gruß

    CodeTags korrigiert ~VaporiZed
    Bilder
    • Listbox zu TextBox.jpg

      30,35 kB, 822×407, 136 mal angesehen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „VaporiZed“ ()

    MacLeod schrieb:

    Ist es möglich, den wert von der Listbox als Abhängigkeit zu TextBox zu bringen?
    Du muss halt das TextBox_Change Event auswerten.
    Wenn TextBox.Text in der ListBox enthalten ist, selektierst du das passende Listboxelement.

    Aber Vorsicht, dass du nicht im Kreis herum synchronisierst.
    Wenn das richtige Element in Listbox oder Textbox schon drin steht, darfst du es nicht verändern, sonst hast du eine Endlosschleife.

    Trotzdem sehe ich keinen wirklichen Sinn, zwei Eingabeelemente zu haben.
    Denk da nochmals darüber nach, ob das sein muss.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Hallo,

    danke für die Antwort.
    Nein habe keine 2 Eingabeelemente, der 2. sollte nur dazu dienen, wo bei mir der Fehler ist.
    Wenn ich in der Listbox einen Wert anklicken, soll er es in der TextBox was in der Tabelle3 als Spalte 7 hinterlegt ist anzeige.
    ComboBox302 sollte durch die TextBox303 ersetz werden.

    Gruß
    guten Morgen petaod,

    danke für den tipp.
    Aber so viel ich mit bekommen habe, kann ich den Private Sub TextBox302_Change() erst anwenden,
    wenn er keine Fehler mehr macht.

    Zurzeit macht er bei den Code immer noch einen Eigenschaftsfehler. .TextBox302.Text wert(1) (Siehe Bild)

    Quellcode

    1. Private Sub ComboBox302_Change()
    2. Dim wert As Variant
    3. Dim i As Long
    4. With Me
    5. ' alte Werte löschen...
    6. TextBox302 = ""
    7. ' und neue eintragen
    8. For i = 0 To UBound(key7)
    9. wert = Split(key7(i), "|")
    10. If .ComboBox302 = wert(0) Then .TextBox302.Text wert(1)
    11. Next i
    12. End With
    13. End Sub


    Und ich habe mich im Ersten Bild im Post Nr.1 vermalt. Es Sollte von ListBox zu ComboBox zu TextBox sein.
    Ich bin noch am Lernen mit VBA...
    Gruß
    Bilder
    • Listbox zu TextBox_2.jpg

      30,09 kB, 822×407, 130 mal angesehen
    • Listbox zu TextBox_3.jpg

      86,21 kB, 704×366, 129 mal angesehen
    Guten Morgen...
    peinlich... ja das war der Fehler...
    Jetzt geht es... ohne fehler...
    Danke für den Tipp...

    Quellcode

    1. Private Sub ListBox301_Change()
    2. Dim wert As Variant
    3. Dim i As Long
    4. With Me
    5. ' alte Werte löschen...
    6. .ListBox302.Clear
    7. TextBox303 = ""
    8. TextBox304 = ""
    9. ' und neue eintragen
    10. For i = 0 To UBound(key7)
    11. wert = Split(key7(i), "|")
    12. If .ListBox301 = wert(0) Then .ListBox302.AddItem wert(1)
    13. Next i
    14. TextBox302 = ""
    15. For i = 0 To UBound(key7)
    16. wert = Split(key7(i), "|")
    17. If wert(1) <> "" And .ListBox301 = wert(0) Then .TextBox302.Text = wert(1)
    18. Next i
    19. End With
    20. End Sub


    Besten Dank nochmals...

    Gruß