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

Forumthread: ComboBox Daten einlesen und ausgeben

ComboBox Daten einlesen und ausgeben
Rudolf
Hi,
ich habe in einer Userform eine ComboBox in der ich Daten aus der Tabelle2 B1:B14 (Wurde auch als Name definiert) anzeigen möchte und nach der Auswahl mit em "OK" Button in Tabelle1 A1 schreiben möchte. Ich stehe auf der Leitung.
Ich danke für euere Hilfe.
Gruß Rudi
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: ComboBox Daten einlesen und ausgeben
P@ulchen
Hi Rudi,
in den Eigenschaften der ComboBox bei RowSource: Tabelle2!B1:B14
und für die Übernahme der Auswahl folgenden Code:

Private Sub CommandButton1_Click()
Sheets("Tabelle1").Range("A1") = ComboBox1.Value
Unload Me
End Sub

Gruß aus Leipzig
P@ulchen
Das Forum lebt auch von den Rückmeldungen !
Anzeige
AW: ComboBox Daten einlesen und ausgeben
05.05.2004 11:25:46
Christoph
Hi Rudi,
in FAQ findest du hier massig Beispiele.
eine Möglichkeit wäre: (ohne auf den Namen einzugehen)
Gruß
Christoph
Option Explicit

Private Sub UserForm_Initialize()
Dim arr
arr = Sheets(2).Range("B1:B14")
Me.ComboBox1.List() = arr
End Sub


Private Sub CommandButton1_Click()
Sheets(1).Range("A1") = Me.ComboBox1.Value
End Sub

Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

ComboBox in Excel: Daten einlesen und ausgeben


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Öffne die Entwicklertools in Excel und füge eine Userform hinzu.
  2. ComboBox hinzufügen: Ziehe eine ComboBox auf die Userform.
  3. Eigenschaften einstellen: Klicke auf die ComboBox und setze in den Eigenschaften RowSource auf Tabelle2!B1:B14.
  4. OK-Button hinzufügen: Füge einen CommandButton hinzu und nenne ihn z.B. "OK".
  5. Code für die ComboBox: Klicke mit der rechten Maustaste auf die Userform und wähle "Code anzeigen". Füge den folgenden VBA-Code ein:
Private Sub UserForm_Initialize()
    Dim arr
    arr = Sheets(2).Range("B1:B14")
    Me.ComboBox1.List() = arr
End Sub

Private Sub CommandButton1_Click()
    Sheets("Tabelle1").Range("A1") = Me.ComboBox1.Value
    Unload Me
End Sub
  1. Userform testen: Starte die Userform und teste die Auswahl in der ComboBox.

Häufige Fehler und Lösungen

  • ComboBox bleibt leer: Stelle sicher, dass die RowSource korrekt auf Tabelle2!B1:B14 gesetzt ist. Überprüfe auch, ob die Daten in diesem Bereich vorhanden sind.
  • Fehler beim Übertragen der Auswahl: Achte darauf, dass der Name der ComboBox im Code (z.B. ComboBox1) mit dem Namen in der Userform übereinstimmt.

Alternative Methoden

Eine andere Möglichkeit, die ComboBox zu füllen, ist die Verwendung eines Arrays. So kannst du die Daten manuell einlesen. Der Code könnte wie folgt aussehen:

Private Sub UserForm_Initialize()
    Dim arr(1 To 14) As String
    Dim i As Integer

    For i = 1 To 14
        arr(i) = Sheets(2).Cells(i, 2).Value
    Next i

    Me.ComboBox1.List = arr
End Sub

Praktische Beispiele

Ein praktisches Beispiel für die Verwendung einer ComboBox könnte die Auswahl von Produktnamen in einem Verkaufsbericht sein. Wenn der Benutzer ein Produkt auswählt, wird der entsprechende Preis in die Tabelle1 Zelle A1 übertragen.


Tipps für Profis

  • Nutze die ListIndex-Eigenschaft der ComboBox, um den ausgewählten Index leicht zu bestimmen.
  • Füge eine Validierung der Auswahl hinzu, um sicherzustellen, dass der Benutzer tatsächlich eine Auswahl getroffen hat, bevor die Daten übertragen werden.
  • Denke daran, die Userform beim Schließen mit Unload Me zu entladen, um Speicherplatz freizugeben.

FAQ: Häufige Fragen

1. Wie kann ich mehrere ComboBoxes in einer Userform verwenden?
Du kannst einfach weitere ComboBoxes hinzufügen und den obigen Code für jede ComboBox anpassen, um die jeweiligen Daten anzuzeigen.

2. Was mache ich, wenn ich mehr als 14 Einträge habe?
Erweitere einfach den Bereich in der RowSource oder passe den Code an, um mehr Zellen einzulesen. Achte darauf, dass die ComboBox ausreichend Platz hat, um alle Einträge anzuzeigen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige