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

Forumthread: Wert aus Combobox auslesen

Wert aus Combobox auslesen
12.03.2013 21:34:08
Matthias
Hallo an alle Experten
ich möchte ein Dropdown Menü erstellen, entweder durch Combobox oder Formularsteuerlemet. In den Dropdown Menü steht z.b. Gisela, Herbert, Thomas usw.. Nach auswählen eines Namen, soll in anderen Tabellenblatt der Vorname gesucht werden. In dem Blatt stehen dann verschieden Namen mit verschiedenen Daten.
In einen Beispiel steht in einer Zeile Gisela Becker und in anderen Zeile steht Gisela Schulz. Hinter jedem Namen stehen Wohnort, Strasse, Alter usw.
So jetzt wähle ich im Dropdown Menü Gisela aus und nun soll in die beide Nachnamen in je eine Zeile geschrieben werden, die den Vornamen Gisela besitzen. Dann soll für jeden Namen noch das Alter und Wohnort in der gleiche Zeile aber in anderen Spalten stehen.
Da ich nur leichte VBA Kenntnisse besitze, suche ich hier Hilfe.
Vielen Dank
Matthias

Anzeige

26
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
kleine Korrektur (wg. Spalte Alter)
13.03.2013 09:29:24
Matthias
Hallo Matthias
Hab gerade einen kl. Fehler bemerkt.
Cells(zeile, 7) = RnG.Offset(, 3).Value
ändern in ...
Cells(zeile, 7) = RnG.Offset(, 4).Value
Gruß Matthias

Anzeige
bei Interesse hab ich noch Version2
13.03.2013 10:30:32
Matthias
Hallo
Da ich gerade am basteln war, hier mal die Version2 dargestellt
Tabelle2

 ABCDE
1VornameNachnameOrtStraßeAlter
2GiselaBeckerOrt 1Hauptstr.136
3RenateSchneiderOrt 2Hauptstr.237
4GiselaSchmidtOrt 3Hauptstr.338
5RenateSchmittOrt 4Hauptstr.439
6HildeMaierOrt 2Hauptstr.138
7RenateBeckerOrt 5Hauptstr.540


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4


Je nachdem was Du gerade suchst, gibst Du in der entsprechenden Spalte ein
Hier wird nach Ort 2 gesucht.
Tabelle1

 BCDEFG
2Eingabe: ->  Ort 2  
3      
4 VornameNachnameOrtStraßeAlter
5Ergebnis: ->RenateSchneiderOrt 2Hauptstr.237
6 HildeMaierOrt 2Hauptstr.138
7      


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4


oder hier nach dem Nachname
Tabelle1

 BCDEFG
2Eingabe: -> Becker   
3      
4 VornameNachnameOrtStraßeAlter
5Ergebnis: ->GiselaBeckerOrt 1Hauptstr.136
6 RenateBeckerOrt 5Hauptstr.540
7      


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Gruß Matthias

Anzeige
AW: bei Interesse hab ich noch Version2
13.03.2013 13:47:18
Matze
Hallo
danke für die schnelle Antwort. Ich will den Namen aber nicht händisch eingeben, sondern aus einer Auswahl anwählen, z.b. durch ein Dropdown Menü(Combobox...). Ich habe es versucht, aber beim Befüllen der Zelle ändert sich leider nichts.
Natürlich finde ich deine Version2 auch nicht schlecht.
Danke
Matthias

Anzeige
gehts also nur um die Vornamen ?
13.03.2013 13:50:24
Matthias
Hallo
Dann ändere ich das mal fix, natürlich dann auch mit einner Combobox bedienbar.
Gruß Matthias

AW: gehts also nur um die Vornamen ?
13.03.2013 14:09:01
Matze
Hallo
ich werde nicht nur nach Vornamen suchen, auch nach anderen Daten. Meine Idee wäre mit verschiedenen Comboboxen zu arbeiten!
Gruss
Matthias

kann man machen muss man aber nicht ...
13.03.2013 14:15:51
Matthias
Hallo
Eine Combobox reicht da aus.
Die kann man bei Bedarf mit den relevanten Daten "füttern"
Man könnte OptionButton benutzen mit denen man der Combobox den relevanten Namensbereich zuweist.
Das sehe dann so aus:
Userbild
Wäre das so akzeptabel?
Gruß Matthias

Anzeige
AW: kann man machen muss man aber nicht ...
13.03.2013 14:21:51
Matze
Hallo
das ist nicht schlecht!
Matthias

AW:Kopieren!
13.03.2013 14:40:09
Matze
Hallo
ich habe gerade versucht deine Tabelle zu kopieren in anderes Tabellenblatt. Ich habe auch das Script mit kopiert. Leider geht deine Auswertung nicht mehr. Ich kann mir aber nicht erklären warum?
Matthias

Das war mir fast klar das es nicht klappt ...
13.03.2013 15:35:38
Matthias
Hallo
Es wäre ja auch besser gewesen, Du hättest Deine Datei gepostet, so hätte ich auch mit den entsprechenden Zelladressen arbeiten können,
So konnte ich ja nur eine allgemeine Lösung posten.
Hier die Version5 mit nur einer Combobox
https://www.herber.de/bbs/user/84325.xlsm
Gruß Matthias

Anzeige
AW: Das war mir fast klar das es nicht klappt ...
13.03.2013 16:40:18
Matthias
Hallo
danke für die Tabelle. Ich dachte schon, das die Orginaltabelle hilfreich wäre. Ich habe versucht an einen einfachen Beispiel mein Problem zu schildern. Meine eigene Tabelle hat ganz andere Parameter und sehr komplex, welches man schlecht beschreiben kann. Ich werde versuchen, deine Vorschläge in meine Tabelle einzupflegen. Dann kann ich sie Dir im ganzen zeigen.
Ich habe die Tabelle gerade geöffnet und sie macht einen Fehler beim Auswahl der Namen. Dieser Fehler tritt nur beim ersten Mal auf. Ändere ich den Ort, dann geht auch wieder der Vorname.
Bis dann
Matthias

Anzeige
AW: Fehler behoben ...
13.03.2013 17:45:19
Matthias
Hallo
super!!!!!
Kannst du mir deine E-Mail Adresse schicken, dann sende ich dir meine überarbeitete Liste. Ich möchte Sie nicht öffentlich machen. Meine Adresse lautet mhurt@web.de.
Bis dann
Matthias

Anzeige
AW: neue Frage....
14.03.2013 10:08:12
Matze
Hallo
ich habe gestern die Liste für meine Zwecke bearbeitet. Es geht soweit alles. In meiner Tabelle kommt es auch vor, das ein Feld leer bleibt. Bleibt dieses Feld leer, dann liest er beim wechslen der Kategorie auch das leere Feld. Ich weiss wieso, aber keine perfekte Lösung es zu ändern.
Hier deine Datei mit den leeren Feld.

Die Datei https://www.herber.de/bbs/user/84349.xlsm wurde aus Datenschutzgründen gelöscht


Bis dann
Matthias

Anzeige
und wie lautet die Frage ?
14.03.2013 19:17:16
Matthias
Hallo Matthias
Willst Du den Datensatz (wenn ein Eintrag fehlt) nicht anzeigen ?
Gruß Matthias

AW: bei leeren Dropdown-Menü keine Werte auslesen
14.03.2013 19:47:37
Matthias
Hallo
der Datensatz soll angezeigt werden, auch wenn ein Element fehlt. In den Beispiel was ich schickte, fehlt bei Renate Schmitt der Ort. Bei der Auswahl von Renate Schmitt wird alles richtig angezeigt. Jetzt wähle ich bei den Option Button den Ort, das Dropdown Menü wird gelehrt. Jetzt steht in der Auswertung alle Daten, wo der Ort leer ist. Bei leeren des Dropdown Menü sollen alle Zellen auch leer bleiben.
Danke
Matthias

Anzeige
mal zum nachvollziehen ...
14.03.2013 20:52:06
Matthias
Hallo
Das Beispiel zeigt nur Renate Schmitt, also hast Du vorher das Optionsbutton "Nachname" aktiviert.
Wenn Du nun Optionsbutton "Ort" aktivierst, wird die Combobox nich nur geleert sondern mit allen Orten neu befüllt. Jetzte bei Auswahl eines Ortes wird das Listing neu erstellt.
aber evtl. reicht diese Änderung das Problem zu lösen
oder Du meinst, wenn du den Inhalt der Combobox leerst
Dann ersetze mal das ComboBox1_Change so:
Private Sub ComboBox1_Change()
If ComboBox1.ListIndex = -1 Then
Range("C5:G" & Rows.Count).ClearContents
Else
Range("C2:G2").ClearContents
If MyCol > 0 Then Cells(2, MyCol) = ComboBox1
End If
End Sub
Gruß Matthias

Anzeige
AW:einfach Klasse
14.03.2013 21:43:43
Matthias
Hallo
es läuft einfach super.
Einfach Weltklasse
Matthias

Danke für die Rückmeldung kwT
14.03.2013 21:47:08
Matthias

AW: Sortierung
15.03.2013 14:15:05
Matze
Hallo
im Moment versuche ich die Tabelle im weiter zu entwickeln. ich habe die Tabelle so erweitert, das mit dem Nachname noch ein Bild erscheint. Dieses funktioniert schon, leider komme ich jetzt wieder an meine Grenzen. Das Bild soll natürlich verschwinden, wenn ich nun nach einem Ort suchen will.
Dann habe ich mich noch gefragt, ob mann das Dropdown Menü auch aphabetisch sortieren kann. Das geht bestimmt :-).
Wenn du mir Tipps geben könntest, wäre es nicht schlecht.
https://www.herber.de/bbs/user/84389.xlsm
Du sagst einfach, wenn ich dich nicht mehr belästigen soll!!!
Danke
Matthias

Anzeige
Image1.Picture = Nothing
16.03.2013 13:36:42
Matthias
Hallo
grad erst gesehen ...
Setze an den Anfang der Combobox:
Image1.Picture = Nothing
Private Sub ComboBox1_Change()
Image1.Picture = Nothing
Range("C2:G2").ClearContents
If MyCol > 0 Then Cells(2, MyCol) = ComboBox1
End Sub
https://www.herber.de/bbs/user/84402.xlsm
Gruß Matthias

Anzeige
AW: Sortierung
16.03.2013 14:16:09
Matthias
Hallo
alles kein Problem. Werde ich gleich mal testen. Hast du noch eine Idee wegen der Sortierung im Dropdown Menü?
Danke
Matthias

AW: Sortierung
16.03.2013 14:16:11
Matthias
Hallo
alles kein Problem. Werde ich gleich mal testen. Hast du noch eine Idee wegen der Sortierung im Dropdown Menü?
Danke
Matthias

Anzeige
Sortiere doch einfach vorher ...
16.03.2013 16:22:16
Matthias
Hallo
Private Sub OptionButton1_Click()
Tabelle2.Columns("A:E").Sort Key1:=Tabelle2.Range("A2"), Order1:=xlAscending, Header:= _
xlGuess  'NachName
MyCol = 3
Tabelle1.ComboBox1.Text = ""
MeinBereich = OptionButton1.Caption
Auswahl
End Sub

Private Sub OptionButton2_Click()
Tabelle2.Columns("A:E").Sort Key1:=Tabelle2.Range("B2"), Order1:=xlAscending, Header:= _
xlGuess  'NachName
MyCol = 4
Tabelle1.ComboBox1.Text = ""
MeinBereich = OptionButton2.Caption
Auswahl
End Sub



Private Sub OptionButton3_Click()
Tabelle2.Columns("A:E").Sort Key1:=Tabelle2.Range("C2"), Order1:=xlAscending, Header:= _
xlGuess  'NachName
MyCol = 5
Tabelle1.ComboBox1.Text = ""
MeinBereich = OptionButton3.Caption
Auswahl
End Sub
usw ... analog mit den anderen Optionbutton

Anzeige
AW: Sortiere doch einfach vorher ...
16.03.2013 16:52:34
Matze
Hallo
das löschen des Bildes klappt. Die Idee es vorher zu sortieren, ist nicht so gut, da sich dadurch meine ganze Reihenfolge im Datenblatt ändert. Dieses bringt mein Konzept durcheinander. Kann man im Dropmenü sortieren, wenn du nur die Unikate anzeigst?
Danke
Matthias

Anzeige
schau doch auch mal ins Archiv ...
16.03.2013 17:49:41
Matthias
Hallo
Such doch einfach mal nach:
Werte in Combobox sortieren oder Ähnliche Begriffe
Du solltest die Werte in ein Datenfeld einlesen, darin sortieren und dann in die Combobox schreiben.
Gruß Matthias
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Wert aus Combobox auslesen in Excel


Schritt-für-Schritt-Anleitung

Um einen Wert aus einer Combobox in Excel auszulesen, kannst du die folgenden Schritte befolgen:

  1. Combobox einfügen: Gehe zu "Entwicklertools" > "Einfügen" und wähle die Combobox (Formularsteuerelement oder ActiveX-Steuerelement).

  2. Datenquelle festlegen: Klicke mit der rechten Maustaste auf die Combobox und wähle "Steuerelement formatieren". Unter "Eingabebereich" gibst du den Bereich an, der die Werte enthält, z.B. A1:A10.

  3. VBA-Code hinzufügen:

    • Öffne den VBA-Editor mit ALT + F11.
    • Doppelklicke auf das Blatt, das die Combobox enthält.
    • Füge den folgenden Code ein, um den ausgewählten Wert auszulesen:
    Private Sub ComboBox1_Change()
       Dim ausgewählterWert As String
       ausgewählterWert = ComboBox1.Value
       MsgBox "Ausgewählter Wert: " & ausgewählterWert
    End Sub
  4. ListIndex auslesen: Um den Index des ausgewählten Wertes zu erhalten, kannst du ComboBox1.ListIndex verwenden:

    Dim index As Integer
    index = ComboBox1.ListIndex
    MsgBox "Index des ausgewählten Wertes: " & index

Jetzt kannst du den Wert oder den Index in deinen Berechnungen oder Abfragen verwenden.


Häufige Fehler und Lösungen

  • Fehler: Excel Dropdown lässt sich nicht löschen
    Lösung: Stelle sicher, dass die Combobox nicht durch ein anderes Steuerelement blockiert wird. Wähle die Combobox aus und drücke Entf, um sie zu löschen.

  • Fehler: Kein Wert wird aus der Combobox ausgelesen
    Lösung: Überprüfe, ob der VBA-Code korrekt zugeordnet ist und ob die Combobox mit den richtigen Werten gefüllt ist.

  • Fehler: Excel wert aus Dropdown auslesen funktioniert nicht
    Lösung: Stelle sicher, dass der Code in der richtigen Prozedur (z.B. ComboBox1_Change) platziert ist. Prüfe auch, ob die Datenquelle korrekt definiert ist.


Alternative Methoden

Wenn du die Combobox-Funktionalität nicht benötigst, kannst du auch Datenvalidierung verwenden, um ein Dropdown-Menü zu erstellen. Hier ist, wie du das machst:

  1. Wähle die Zelle aus, in der das Dropdown angezeigt werden soll.
  2. Gehe zu "Daten" > "Datenvalidierung".
  3. Wähle "Liste" und gib den Bereich für die Dropdown-Werte an.
  4. Um den Wert auszulesen, kannst du einfach auf die Zelle zugreifen, die das Dropdown enthält.

Praktische Beispiele

  1. Vorname und Nachname suchen: Wenn du einen Vornamen aus der Combobox auswählst, kannst du alle zugehörigen Nachnamen in einer Tabelle ausgeben.

    Private Sub ComboBox1_Change()
       Dim i As Integer
       Dim zeile As Integer
       zeile = 2 ' Startzeile für die Ausgabe
    
       For i = 1 To Worksheets("Tabelle2").Cells(Rows.Count, 1).End(xlUp).Row
           If Worksheets("Tabelle2").Cells(i, 1).Value = ComboBox1.Value Then
               Worksheets("Tabelle1").Cells(zeile, 1).Value = Worksheets("Tabelle2").Cells(i, 2).Value
               zeile = zeile + 1
           End If
       Next i
    End Sub
  2. Alter und Wohnort ausgeben: Ändere den obigen Code, um zusätzlich Alter und Wohnort anzuzeigen.


Tipps für Profis

  • Nutze Option Buttons zusammen mit der Combobox, um die Auswahl zu verfeinern.
  • Achte darauf, dass du die Fehlerbehandlung in deinem VBA-Code implementierst, um Abstürze zu vermeiden.
  • Denke daran, dass du die Combobox auch mit VBA dynamisch befüllen kannst, je nach Benutzerinteraktion oder Datenquelle.

FAQ: Häufige Fragen

1. Wie kann ich mehrere Comboboxen nutzen?
Du kannst mehrere Comboboxen hinzufügen und jeweils einen eigenen VBA-Code für jede Combobox konfigurieren.

2. Wie kann ich die Werte in der Combobox alphabetisch sortieren?
Du kannst die Werte in ein Array einlesen, sortieren und dann in die Combobox einfügen. Alternativ kannst du die Werte vorher in der Datenquelle sortieren.

3. Ist es möglich, den ausgewählten Wert in einer anderen Tabelle zu speichern?
Ja, du kannst den Wert der Combobox in eine bestimmte Zelle einer anderen Tabelle schreiben, indem du den entsprechenden Zellbezug im VBA-Code angibst.

4. Was mache ich, wenn das Dropdown-Menü leer bleibt?
Überprüfe die Quelle der Daten und stelle sicher, dass dort Werte zum Auslesen vorhanden sind.

5. Wie kann ich die ListIndex der Combobox abfragen?
Du kannst den Index mit ComboBox1.ListIndex abfragen und entsprechend weiterverarbeiten.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige