ComboBoxen verknüpfen (VBA)

Manuela @, Berlin, Mittwoch, 09.01.2019, 21:51 (vor 137 Tagen)

Ich habe folgendes Problem: In einem Rechnungsformular sollen Artikelnummer, Artikel und die Preise angezeigt werden. Die Artikelnummern rufe ich per ComboBox auf, dafür habe ich bei RowSource die Zellen der Vorgabetabelle hinterlegt. Jetzt möchte ich aber, das, wenn ich eine Artikelnr. aufrufe auch automatisch die Artikel und dazugehörigen Preise in den Textboxen dahinter angezeigt werden ohne diese extra raussuchen zu müssen. Alle benötigten Informationen stehen in einer Vorgabetabelle.

ComboBoxen verknüpfen

Martin Asal @, Donnerstag, 10.01.2019, 09:02 (vor 137 Tagen) @ Manuela

Hallo Manuela,

aus deinem Post geht nicht hervor, ob es um Excel oder Access geht. Die Programmierung von Formularen unterscheidet sich da erheblich.

Martin

ComboBoxen verknüpfen

Manuela @, Freitag, 11.01.2019, 18:41 (vor 135 Tagen) @ Martin Asal

Es geht um Excel. Die Verknüpfung habe ich jetzt mit dem ListIndex hinbekommen.

Private Sub Artikelnummer1Tbx_Change()
Artikel1Tbx.ListIndex = Artikelnummer1Tbx.ListIndex

End Sub

Allerdings bekomme ich jetzt die nachfolgende Verknüpfung mit der Testbox nicht hin. Es soll gleich der dazugehörige Preis angezeigt werden.

ComboBoxen verknüpfen

Martin Asal @, Sonntag, 13.01.2019, 15:04 (vor 133 Tagen) @ Manuela

Wie man eine Combobox mit Werten bestückt, wird ja im Tutorial beschrieben (wahrscheinlich musst du das Beispiel für deine Zwecke mit einer Schleife umschreiben). Unterstellen wir nun, dass "Combobox1" die Artikelnummer enthält und du ein Sheet namens "Vorgabe" hast, das wie folgt aussieht:

Spalte A: RENr
Spalte B: Bezeichnung

Außerdem hat das Form eine Texbox namens "Textbox1", in der die Bezeichnung aus der Tabelle "Vorgabe" angezeigt werden soll.

Private Sub ComboBox1_Change()
Dim ArtNr
Dim Zelle As Range
 
Set Zelle = Worksheets("Vorgabe").Range("A5")   'Die erste ArtikelNr
ArtNr = Me.ComboBox1.Text                       'Zu suchende ArtikelNr

Do Until IsEmpty(Zelle.Value)       'Solange Zellen gefunden werden ...
    If CStr(Zelle) = CStr(ArtNr) Then   'Wenn gefunden
        Me.TextBox1.Value = Zelle.Offset(0, 1)
        Exit Do
    Else
        Set Zelle = Zelle.Offset(1)     'sonst gehe 1 Zeile nach unten
    End If
Loop
 
End Sub

Martin

RSS-Feed dieser Diskussion
powered by my little forum