Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Gleiche Werte in ComboBox nur einmal anzeigen

Gleiche Werte in ComboBox nur einmal anzeigen
03.08.2005 15:42:33
Tinu
Liebe Excel Spezialisten
In einer User Form habe ich eine ComboBox, welche die Werte aus einem bestimmten Tabellenbereich (A1:A999) übernimmt. Nun stehen aber in diesem Bereich die selben Daten (es handelt sich um Namen) mindestens 10 mal. Wie kann ich erreichen, dass in der Auswahl der ComboBox jeder Name nur einmal erscheint?
Für Euere Hilfe wäre ich sehr dankbar!
Grüsse aus der Schweiz
Tinu
Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Gleiche Werte in ComboBox nur einmal anzeigen
03.08.2005 15:44:55
Leo
Hi,
kommt ganz darauf an, wie die Box gefüllt wird.
mfg Leo
AW: Gleiche Werte in ComboBox nur einmal anzeigen
03.08.2005 15:51:47
Eule
Hi Tinu
hier mal ein Beispiel:

Private Sub UserForm_Initialize()
Dim x As Variant
With WS
For x = 4 To WS.[a65536].End(xlUp).Row
If WorksheetFunction.CountIf(WS.Range("b4:b" & x), WS.Cells(x, 2)) = 1 Then
cbo1_Kunde.AddItem WS.Cells(x, 2)
End If
Next
End With
End Sub

WS(Workbook/Sheet) muusst Du natürlich anpassen, ebenso cbo1_Kunden
Gruss Eule
Anzeige
AW: Gleiche Werte in ComboBox nur einmal anzeigen
03.08.2005 15:57:41
Tinu
Hi Leo
die Combobox wird nicht über VBA gefüllt. In den Eigenschaften der CB ist einfach A1:A999 als RowSource definiert.
Gruss
Tinu
AW: Gleiche Werte in ComboBox nur einmal anzeigen
03.08.2005 16:00:19
Eule
Hi Tinu
und warum füllst Du die Combo dann nicht über VBA, siehe mein Beispiel?!
Gruss Eule
AW: Gleiche Werte in ComboBox nur einmal anzeigen
03.08.2005 17:21:33
Tinu
Hallo Eule
Die Antwort ist einfach: bei mir steht "VBA nein" ;( ... leider
Ich hab trotzdem mal versucht, Deinen Code anzupassen und einzugeben. Scheinbar mach ich aber etwas grundlegend falsch.
Würdest du bitte den Upload mal anschauen. Ich hab die Datenmenge reduziert.
https://www.herber.de/bbs/user/25288.xls
besten Dank
Tinu
Anzeige
AW: Gleiche Werte in ComboBox nur einmal anzeigen
03.08.2005 19:28:46
Matthias
Hallo Tinu,
das war ja schonmal ein Riesenbock in der Datei, der ist mir erst aufgefallen, als ich den Code überarbeitet habe. Die Prozedur hieß Userform1_Initialize() sie muss aber heißen Userform_Initialize() !!
der geänderte Code:

Private Sub UserForm_Initialize()
Dim x As Long
Dim lz As Long
With ThisWorkbook.Sheets("Sheet1")
lz = .Range("A65536").End(xlUp).Row
MsgBox lz
For x = 3 To lz
If WorksheetFunction.CountIf(.Range("A2:A" & x), .Cells(x, 1)) = 1 Then
ComboBox1.AddItem .Cells(x, 1)
End If
If WorksheetFunction.CountIf(.Range("B2:B" & x), .Cells(x, 2)) = 1 Then
ComboBox2.AddItem .Cells(x, 2)
End If
Next
End With
End Sub

Ich ging davon aus, dass in Spalte A nicht weniger Zeilen gefüllt sind als in Spalte B, so habe ich die letzte Benutzte Zeile über Spalte A ermittelt (lz = .Range("A65536").End(xlUp).Row).
Gruß Matthias
Anzeige
AW: Gleiche Werte in ComboBox - Nachtrag
03.08.2005 19:31:25
Matthias
Hallo Tinu,
ach ja, und die Eigenschaft "RowSource" der Comboboxen musst du löschen!
Sie wird ja über VBA befüllt!
Gruß Matthias
AW: Gleiche Werte in ComboBox - Nachtrag
03.08.2005 23:13:06
Tinu
Besten Dank an alle, die für mich die Hirnzellen angeworfen haben. Der Code von Matthias funzt bestens. Auch die Version mit dem Spezialfilter erfüllt die Aufgabe, aber eben schon nicht so elegant.
Ich denke, ich muss noch viel VBA üben ;)
Grüsse aus der Schweiz
Tinu
Anzeige
AW: Gleiche Werte in ComboBox nur einmal anzeigen
03.08.2005 16:01:42
Leo
Hi,
dann geht halt nicht. Du musst die Tabelle zuvor entsprechend aufbereiten.
Z.B. mit Spezialfilter ohne Duplikate.
mfg Leo
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Gleiche Werte in ComboBox nur einmal anzeigen


Schritt-für-Schritt-Anleitung

Um in einer ComboBox in Excel gleiche Werte nur einmal anzuzeigen, kannst Du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne die Excel-Datei und gehe zu dem Arbeitsblatt mit den Daten.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues UserForm hinzu, indem Du mit der rechten Maustaste auf "VBAProject" klickst und "Einfügen" > "UserForm" wählst.

  4. Füge eine ComboBox zum UserForm hinzu.

  5. Doppelklicke auf das UserForm, um den Code-Editor zu öffnen.

  6. Füge den folgenden Code in den UserForm_Initialize-Event ein:

    Private Sub UserForm_Initialize()
       Dim x As Long
       Dim lz As Long
       With ThisWorkbook.Sheets("Sheet1")
           lz = .Range("A65536").End(xlUp).Row
           For x = 1 To lz
               If WorksheetFunction.CountIf(.Range("A1:A" & x), .Cells(x, 1)) = 1 Then
                   ComboBox1.AddItem .Cells(x, 1)
               End If
           Next x
       End With
    End Sub
  7. Stelle sicher, dass die RowSource-Eigenschaft der ComboBox gelöscht ist, da die Werte über VBA hinzugefügt werden.


Häufige Fehler und Lösungen

  • Fehler: ComboBox zeigt keine Werte an.

    • Lösung: Überprüfe, ob die RowSource-Eigenschaft der ComboBox gesetzt ist. Diese sollte leer sein, wenn Du die ComboBox über VBA füllst.
  • Fehler: Doppelte Werte erscheinen in der ComboBox.

    • Lösung: Stelle sicher, dass die Schleife korrekt konfiguriert ist. Der Code oben verwendet CountIf, um nur einzigartige Werte hinzuzufügen.
  • Fehler: Der Code wird nicht ausgeführt.

    • Lösung: Überprüfe, ob die Prozedur korrekt benannt ist; sie sollte UserForm_Initialize() heißen.

Alternative Methoden

Wenn Du VBA nicht verwenden möchtest, kannst Du auch den Spezialfilter von Excel verwenden, um die gleichen Werte nur einmal anzuzeigen:

  1. Wähle den Bereich Deiner Daten aus.
  2. Gehe zu "Daten" > "Filter" > "Erweiterter Filter".
  3. Wähle die Option "An einen anderen Ort kopieren".
  4. Aktiviere die Checkbox "Nur eindeutige Datensätze".
  5. Wähle den Zielbereich aus, wo die einzigartigen Werte angezeigt werden sollen.

Diese Methode ist hilfreich, wenn Du keine Programmierkenntnisse hast und schnell Ergebnisse erzielen möchtest.


Praktische Beispiele

Hier ist ein Beispiel für eine Tabelle mit Namen, in der einige Namen mehrfach vorkommen:

A
Max
Anna
Max
Lisa
Anna
Tom

Mit dem oben beschriebenen VBA-Code wird die ComboBox nur die einzigartigen Namen enthalten:

  • Max
  • Anna
  • Lisa
  • Tom

Tipps für Profis

  • Nutze die Dictionary-Objekte in VBA, um die Performance zu verbessern, wenn Du mit sehr großen Datenmengen arbeitest. Dadurch kannst Du doppelte Werte effizient filtern.
  • Experimentiere mit der Item-Eigenschaft der ComboBox, um die angezeigten Werte dynamisch zu ändern, basierend auf anderen Eingaben im UserForm.
  • Wenn Du häufig mit doppelten Werten arbeitest, könnte es hilfreich sein, eine separate Funktion zu erstellen, die diese Logik kapselt und die Du dann überall in Deinen Projekten wiederverwenden kannst.

FAQ: Häufige Fragen

1. Frage
Wie kann ich sicherstellen, dass die ComboBox in Excel wirklich nur einmalige Werte anzeigt?
Antwort: Stelle sicher, dass Du die oben genannten Schritte befolgst und den CountIf-Befehl korrekt anwendest. Das gewährleistet, dass jeder Wert nur einmal hinzugefügt wird.

2. Frage
Kann ich diese Methode auch ohne VBA verwenden?
Antwort: Ja, Du kannst den Spezialfilter in Excel verwenden, um doppelte Werte zu eliminieren, bevor Du sie in die ComboBox überträgst.

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