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

Wert aus Combobox in Textbox

Forumthread: Wert aus Combobox in Textbox

Wert aus Combobox in Textbox
08.09.2003 00:42:55
Uwe
Hallo,

folgende Frage:
ich habe auf einer Userform eine Combobox und eine Textbox.
Die Combobox wird aus einer Tabelle namens "Preisliste" über RowSource gefüllt
(Spalte B enspricht dem Artikelnamen)
Wie ist es zu verwirklichen, daß bei Auswahl eines Artikelnamen in der Combobox in der Textbox der Preis des ausgewählten Artikels (steht in Spalte C der Tabelle "Preisliste")erscheint.

Uwe
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Wert aus Combobox in Textbox
08.09.2003 06:44:07
Willie
Hallo Uwe

Hier kommt die Lösung für dich

Gruß

Willie


Private Sub ComboBox1_Change()
iWert = ComboBox1.Value
iMax = Cells(Rows.Count, 2).End(xlUp).Offset(0, 1).Row
For i = 1 To iMax
If iWert = Sheets("Tabelle1").Cells(i, 2).Value Then
Sheets("Tabelle1").Cells(i, 2).Activate
TextBox1.Value = ActiveCell.Offset(0, 1) ' 0= gleiche Reihe ,1 = eine Zelle daneben
Exit Sub
End If
Next
End Sub



Private Sub UserForm_Initialize()
Set frm = UserForm1
Controls("ComboBox1").AddItem
With frm.Controls("ComboBox1")
iMax = Cells(Rows.Count, 2).End(xlUp).Offset(0, 1).Row
For X = 1 To iMax
.AddItem Worksheets("Tabelle1").Cells(X, 2)
Next X
End With
End Sub

Anzeige
AW: Wert aus Combobox in Textbox
08.09.2003 07:00:04
TOM
Morgen Uwe

Ich würde das so lösen:

Option Explicit


Private Sub ComboBox1_Change()
Me.TextBox1.Value = Range("B:B").Find(Me.ComboBox1.Value).Offset(0, 1).Value & "Euro"
End Sub


Gruss TOM
AW: Wert aus Combobox in Textbox
08.09.2003 08:04:32
Uwe Berthold
Hallo Willie, Hallo Tom

vielen Dank erst mal für Eure Bemühungen,
beide Codes funktionieren einwandfrei!

Es ist schon einfach Klasse dieses Forum mit solchen
Helfern

bis demnächst
Uwe
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Wert aus Combobox in Textbox übertragen


Schritt-für-Schritt-Anleitung

Um den Wert einer Combobox in eine Textbox zu übertragen, befolge die folgenden Schritte:

  1. Userform erstellen: Öffne den VBA-Editor (Alt + F11) und füge eine neue Userform hinzu.

  2. Combobox und Textbox hinzufügen: Ziehe eine Combobox und eine Textbox auf die Userform.

  3. Datenquelle festlegen: Setze die RowSource der Combobox auf die Tabelle „Preisliste“, in der die Artikelnamen stehen (Spalte B).

  4. VBA-Code einfügen: Füge den folgenden VBA-Code in das Code-Modul der Userform ein:

    Private Sub ComboBox1_Change()
       iWert = ComboBox1.Value
       iMax = Cells(Rows.Count, 2).End(xlUp).Offset(0, 1).Row
       For i = 1 To iMax
           If iWert = Sheets("Preisliste").Cells(i, 2).Value Then
               TextBox1.Value = Sheets("Preisliste").Cells(i, 3).Value ' Preis aus Spalte C
               Exit Sub
           End If
       Next
    End Sub
  5. Userform initialisieren: Füge den folgenden Code hinzu, um die Combobox beim Laden der Userform zu füllen:

    Private Sub UserForm_Initialize()
       With ComboBox1
           iMax = Cells(Rows.Count, 2).End(xlUp).Offset(0, 1).Row
           For X = 1 To iMax
               .AddItem Worksheets("Preisliste").Cells(X, 2)
           Next X
       End With
    End Sub

Häufige Fehler und Lösungen

  • Fehler: Combobox bleibt leer
    Lösung: Stelle sicher, dass die RowSource korrekt gesetzt ist und dass die Tabelle „Preisliste“ die entsprechenden Daten enthält.

  • Fehler: Preis wird nicht angezeigt
    Lösung: Überprüfe den VBA-Code und stelle sicher, dass die Spaltennummern korrekt angegeben sind (Spalte C für den Preis).


Alternative Methoden

Eine andere Methode, um den Preis aus der Tabelle zu holen, ist die Verwendung der Find-Methode:

Private Sub ComboBox1_Change()
    Dim rng As Range
    Set rng = Range("B:B").Find(Me.ComboBox1.Value)
    If Not rng Is Nothing Then
        Me.TextBox1.Value = rng.Offset(0, 1).Value & " Euro"
    End If
End Sub

Diese Methode ist effizienter, da sie die Suche in der Spalte B optimiert und direkt den Preis in die Textbox einfügt.


Praktische Beispiele

  1. Beispiel 1: Userform mit Artikeln und Preisen aus einer Preisliste.
  2. Beispiel 2: Dynamische Preisänderungen basierend auf Benutzerinteraktionen in der Userform.

Verwende diese Beispiele, um Deine Userform nach Deinen Bedürfnissen anzupassen.


Tipps für Profis

  • Verwende Option Explicit am Anfang Deines VBA-Moduls, um Typkonflikte zu vermeiden.
  • Teste Deine Userform regelmäßig, um sicherzustellen, dass alle Funktionen wie erwartet arbeiten.
  • Dokumentiere Deinen Code mit Kommentaren, um die Wartung zu erleichtern.

FAQ: Häufige Fragen

1. Wie kann ich die Userform starten?
Du kannst die Userform über eine Schaltfläche oder ein Makro starten, indem Du UserForm1.Show verwendest.

2. Funktioniert dieser Code in Excel 365?
Ja, der Code ist mit Excel 365 sowie älteren Versionen kompatibel, solange die VBA-Umgebung verfügbar ist.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige