Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Nur bestimmte Werte in Combobox anzeigen lassen

Forumthread: Nur bestimmte Werte in Combobox anzeigen lassen

Nur bestimmte Werte in Combobox anzeigen lassen
Josef
Hallo!
Ich habe in einer Userform 2 ComboBoxen.
In die ComboBox1 werden die Werte aus der Tabelle1, Spalte H eingelesen.
In der ComboBox2 werden die Werte aus der Tabelle2, Spalte H eingelesen. Die Werte in der Tabelle2, Spalte H gibt es auch in der Tabelle1, Spalte H. Es kommt jedoch vor, dass es in der Tabelle2 Werte gibt, welche nicht in der Tabelle1 vorhanden sind.
In die ComboBox2 sollen jetzt jedoch nur die Werte aus der Tabelle 2 Spalte H eingelesen werden, welche in der Tabelle1 in der Spalte H nicht vorhanden sind.
Wie würde hier bitte eine Lösung oder eine Lösungsvorschlag aussehen?
Danke
Josef
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Nur bestimmte Werte in Combobox anzeigen lassen
01.08.2011 09:11:29
Josef

Hallo Josef,
vom Prinzip her so.
Dim rng As Range

For Each rng In Sheets("Tabelle2").Columns(8).SpecialCells(xlCellTypeConstants)
  If IsError(Application.Match(rng, Sheets("Tabelle1").Columns(8), 0)) Then
    ComboBox2.AddItem rng.Text
  End If
Next


« Gruß Sepp »

Anzeige
AW: Nur bestimmte Werte in Combobox anzeigen lassen
01.08.2011 09:25:12
Josef
Hallo Sepp!
Danke für Deine Hilfe. Funktioniert.
Schönen Tag noch
Josef
weiter Möglichkeit
01.08.2011 09:20:30
Matthias
Hallo
eine weitere Variante
Tabelle1

 H
1Wert 1
2Wert 2
3Wert 3
4Wert 4
5Wert 5
6Wert 6
7Wert 7
8Wert 8
9Wert 9
10Wert 10


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4


Tabelle2

 HI
1Wert 11
2Wert 21
3Wert 31
4Wert 150
5Wert 51
6Wert 61
7Wert 170
8Wert 81
9Wert 91
10Wert 101

Formeln der Tabelle
ZelleFormel
I1=ZÄHLENWENN(Tabelle1!$H$1:$H$10;H1)
I2=ZÄHLENWENN(Tabelle1!$H$1:$H$10;H2)
I3=ZÄHLENWENN(Tabelle1!$H$1:$H$10;H3)
I4=ZÄHLENWENN(Tabelle1!$H$1:$H$10;H4)
I5=ZÄHLENWENN(Tabelle1!$H$1:$H$10;H5)
I6=ZÄHLENWENN(Tabelle1!$H$1:$H$10;H6)
I7=ZÄHLENWENN(Tabelle1!$H$1:$H$10;H7)
I8=ZÄHLENWENN(Tabelle1!$H$1:$H$10;H8)
I9=ZÄHLENWENN(Tabelle1!$H$1:$H$10;H9)
I10=ZÄHLENWENN(Tabelle1!$H$1:$H$10;H10)


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Nur wo eine 0 ist in CBO2 einlesen
Gruß Matthias
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Nur bestimmte Werte in ComboBox anzeigen


Schritt-für-Schritt-Anleitung

Um in einer Userform mit zwei ComboBoxen in Excel nur bestimmte Werte anzuzeigen, kannst Du die folgende Vorgehensweise nutzen. Dies setzt voraus, dass Du mit VBA (Visual Basic for Applications) vertraut bist.

  1. Öffne die VBA-Entwicklungsumgebung: Drücke ALT + F11 in Excel.

  2. Erstelle eine Userform: Füge eine neue Userform hinzu und platziere zwei ComboBoxen (ComboBox1 und ComboBox2).

  3. Füge den folgenden Code in das Userform-Modul ein:

    Dim rng As Range
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    
    Set ws1 = ThisWorkbook.Sheets("Tabelle1")
    Set ws2 = ThisWorkbook.Sheets("Tabelle2")
    
    ' Fülle ComboBox1 mit Werten aus Tabelle1, Spalte H
    For Each rng In ws1.Columns(8).SpecialCells(xlCellTypeConstants)
       ComboBox1.AddItem rng.Text
    Next rng
    
    ' Fülle ComboBox2 mit Werten aus Tabelle2, Spalte H, die nicht in Tabelle1 vorhanden sind
    For Each rng In ws2.Columns(8).SpecialCells(xlCellTypeConstants)
       If IsError(Application.Match(rng, ws1.Columns(8), 0)) Then
           ComboBox2.AddItem rng.Text
       End If
    Next rng
  4. Teste die Userform: Starte die Userform, um die ComboBoxen mit den entsprechenden Werten zu füllen.


Häufige Fehler und Lösungen

  • Fehler: ComboBox bleibt leer.
    Lösung: Überprüfe, ob die Daten in den angegebenen Spalten vorhanden sind. Stelle sicher, dass die Spalten H in beiden Tabellen auch tatsächlich Werte enthalten.

  • Fehler: Laufzeitfehler bei SpecialCells.
    Lösung: Dieser Fehler tritt auf, wenn die Spalte leer ist. Füge eine Überprüfung ein, um sicherzustellen, dass die Spalte nicht leer ist, bevor Du SpecialCells verwendest.


Alternative Methoden

Eine alternative Methode zur Filterung von Werten in einer ComboBox ist die Verwendung von Formeln. Du kannst eine Hilfsspalte in Tabelle2 erstellen, die prüft, ob die Werte in Tabelle1 vorhanden sind. Verwende die Formel:

=Wenn(ZÄHLENWENN(Tabelle1!$H$1:$H$10; H1)=0; H1; "")

Fülle die Hilfsspalte und verwende diese Spalte zur Befüllung von ComboBox2.


Praktische Beispiele

Hier ist ein einfaches Beispiel, um die Funktionsweise zu verdeutlichen:

  • Tabelle1 (Spalte H):

    • Wert 1
    • Wert 2
    • Wert 3
  • Tabelle2 (Spalte H):

    • Wert 1
    • Wert 4
    • Wert 5

In diesem Fall würde ComboBox2 nur die Werte Wert 4 und Wert 5 anzeigen, da diese nicht in Tabelle1 vorhanden sind.


Tipps für Profis

  • Nutze ListIndex, um den ausgewählten Wert aus der ComboBox zu ermitteln und weitere Aktionen durchzuführen.
  • Verwende With...End With, um den Code effizienter zu gestalten und die Lesbarkeit zu erhöhen.
  • Berücksichtige die Verwendung von benannten Bereichen, um die Pflege der Daten zu erleichtern.
With ComboBox2
    .Clear
    ' Weitere Logik hier...
End With

FAQ: Häufige Fragen

1. Frage
Kann ich auch mehrere Spalten filtern?
Antwort: Ja, Du kannst den Code anpassen, um mehrere Spalten zu prüfen, indem Du die Match-Funktion entsprechend erweiterst.

2. Frage
Wie kann ich die ComboBox mit dynamischen Daten füllen?
Antwort: Du kannst den Code so anpassen, dass er automatisch beim Öffnen der Userform ausgeführt wird, um immer die aktuellsten Daten anzuzeigen.

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