Office: (Office 2010) Combobox füllen wenn 3 bedinungen erfüllt sind

Helfe beim Thema Combobox füllen wenn 3 bedinungen erfüllt sind in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen und einen guten morgen Mit folgendem Code fülle ich eine Combobox, wenn 3 Bedingungen erfüllt sind. Soweit funktioniert dies auch fast... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Blacky1980, 4. Januar 2021.

  1. Combobox füllen wenn 3 bedinungen erfüllt sind


    Hallo zusammen und einen guten morgen

    Mit folgendem Code fülle ich eine Combobox, wenn 3 Bedingungen erfüllt sind. Soweit funktioniert dies auch fast so wie ich es gerne hätte.

    Code:
    Leider werden aber alles mehrfach in der Combobox aufgelistet.

    Wie kann ich es machen, dass die Werte nur einmal aufgelistet werden?

    Der Button für die UserForm befindet sich auf dem Tabellenblatt Auftrag (2).


    Gruß Michael

    :)
     
    Blacky1980, 4. Januar 2021
    #1
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    Hallo Michael,

    prüfe mit Countif die Anzahl
    If WorksheetFunction.CountIf(Range("C1:C" & I), Cells(I,3)) =1 Then
    Bitte berücksichtige das Themen die Erledigt sind als Erledigt markiert werden können. Also mache es unten links mit Klick auf den Schalter "als erledigt setzen", falls Problem gelöst.
    Der Zustand des Beitrages wird dann in der Übersicht angezeigt und man braucht sich diese Beiträge nicht mehr ansehen.





    Meine Homepage Homeseite - Hajo's Excelseiten
     
    Hajo_Zi, 5. Januar 2021
    #2
  3. Hallo Hajo

    Danke für die schnelle Antwort und Deine Hilfe.
    Wo genau muss das rein? Ich habe es getestet aber irgendwie klappt es nicht.

    Gruß Michael
     
    Blacky1980, 5. Januar 2021
    #3
  4. Hajo_Zi
    Hajo_Zi Erfahrener User

    Combobox füllen wenn 3 bedinungen erfüllt sind

    Zu Deinem Test kann ich nichts schreiben.

    Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue. Ich baue keine Datei nach.

    Sollte die Datei verlinkt werden?

    Der Name einer hochgeladenen Mappe wird im Beitrag automatisch angezeigt, sodass es bei Verwendung von aussagekräftigen Namen leichter fällt, sie später im Ablageordner wiederzufinden und sie gedanklich einem bestimmten Thema zuzuordnen. Namen wie Muster*, Test*, Mappe*, Beispiel*, Fehler*, Kalender*, UserForm* usw. sind so allgemein, dass eine Zuordnung zu einem Thema unmöglich gemacht wird.

    Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.

    Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.

    Bilder statt Datei | Excel ist sexy!

    Es sollte ein aussagekräftiger Name sein.

    Das ist nur meine Meinung zu dem Thema.

    Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
    http://www.ms-office-forum.de/forum/...d.php?t=322895
    ändern.

    Das ist nur meine Meinung zu dem Thema.

    die zusätzliche Prüfung muss bei Deiner Prüfung eingearbeitet werden
     
    Hajo_Zi, 5. Januar 2021
    #4
  5. Hallo Michael,

    teste mal:

    Private Sub UserForm_Activate()

    Dim i As Long
    Dim objDictionary As Object

    Set objDictionary = CreateObject(Class:="Scripting.Dictionary")

    With Worksheets("Übersicht")

    For i = 5 To .Cells(.Rows.Count, 8).End(xlUp).Row

    If IsEmpty(.Cells(i, 52).Value) And (.Cells(i, 16).Value = "überfällig" Or _
    .Cells(i, 16).Value = "steht an") Then objDictionary(.Cells(i, 3).Value) = vbNullString

    Next i
    End With

    ComboBox1.List = objDictionary.Keys

    Set objDictionary = Nothing

    End Sub
     
    Nepumuk, 5. Januar 2021
    #5
  6. Hallo Nepumuk

    So klappt es wunderbar. Vielen dank.

    Könntest Du mir bitte den Code etwas genauer erklären damit ich verstehen kann wie wo was passiert möchte ja auch etwas dazu lernen.

    Vielen Dank

    Gruß Michael
     
    Blacky1980, 5. Januar 2021
    #6
  7. Hallo Michael,

    ein Dictionary ist ein Array mit einem eindeutigen Schlüssel und einem Wert.

    Hier:

    objDictionary(.Cells(i, 3).Value) = vbNullString

    wird, wenn der Schlüssel noch nicht existiert dieser neu angelegt und dem Wert ein leerer String zugewiesen, denn den brauchen wir nicht. Wenn der Schlüssel schon existiert wird nur dem Wert erneut der leere String zugewiesen.

    Hier:

    ComboBox1.List = objDictionary.Keys

    werden die Schlüssel an die ComboBox übergeben.

    Alles klar?
     
    Nepumuk, 5. Januar 2021
    #7
  8. Combobox füllen wenn 3 bedinungen erfüllt sind

    Hallo Nepumuk,

    OK danke.
    Werde mir mal Bücher besorgen, da ich ja doch sehr viel mit Excel mach.

    Vielen Dank


    Gruß Michael
     
    Blacky1980, 6. Januar 2021
    #8
  9. Hallo zusammen

    Nun habe ich doch noch etwas festgestellt.
    Wenn ich nun ein Gerät bearbeitet habe wird mir die Nummer aus Spalte H immer noch in der Listbox angezeigt.

    Im Anhang nochmal die Datei und normal sollten jetzt in der Listbox nur 3 Einträge vorhanden sein es werden aber alle 4 angezeigt. Da 4 Geräte dem Objekt zugeordnet sind.

    In der Combobox steht die Objekt ID aber nur wenn ein Gerät was dem Objekt zugeordnet ist, wenn in Spalte P "überfällig" oder "steht an" und in AZ nichts steht. Das funktioniert auch super.

    Nun sollen aber in der Listbox nur die Zugeordneten Geräte IDs aus Spalte H aufgelistet werden, wenn in Spalte P "überfällig" oder "steht an" und in AZ nichts steht.

    Ich hoffe man kann verstehen was ich damit meine.



    Gruß Michael


    PS. Einmal in der Datei bei Übersicht in Spalte H "überfällig" oder "steht an" rein schreiben oder raus nehemn.
     
    Blacky1980, 7. Januar 2021
    #9
  10. Hallo Michael,

    teste mal:

    Private Sub ComboBox1_Change()

    Dim liZeile As Long

    liZeile = 5

    ListBox1.Clear

    With Worksheets("Übersicht")

    Do Until IsEmpty(.Cells(liZeile, 3).Value)

    If .Cells(liZeile, 3).Value = ComboBox1.Text Then

    If IsEmpty(.Cells(liZeile, 52).Value) And (.Cells(liZeile, 16).Value = "überfällig" Or _
    .Cells(liZeile, 16).Value = "steht an") Then

    ListBox1.AddItem .Range("H" & liZeile).Value
    ListBox1.List(ListBox1.ListCount - 1, 1) = .Range("I" & liZeile).Value

    End If
    End If
    liZeile = liZeile + 1
    Loop
    End With
    End Sub
     
    Nepumuk, 7. Januar 2021
    #10
  11. Hallo Nepumuk

    Bombe. Wie hast Du das nun gerlernt. Ich habe schon soviel gelesen aber klar kommen tue ich nicht wirklich damit. Ich habe die Datei schon so oft abgeschossen und bei Dir und den anderen klappt das fast immer auf anhieb.

    Vielen vielen Dank

    Gruß Michael
     
    Blacky1980, 7. Januar 2021
    #11
Thema:

Combobox füllen wenn 3 bedinungen erfüllt sind

Die Seite wird geladen...
  1. Combobox füllen wenn 3 bedinungen erfüllt sind - Similar Threads - Combobox füllen bedinungen

  2. Userform Textfeld füllen abhängig von Wert aus Combobox

    in Microsoft Excel Hilfe
    Userform Textfeld füllen abhängig von Wert aus Combobox: Hallo zusammen, weiter geht es mit Problemen. Ich Filter die Daten für die Combobox mit diesem Code Private Sub UserForm_Initialize() Dim tbl As ListObject Dim rng As Range Dim cell As Range Dim...
  3. ComboBox über Namens Manager füllen

    in Microsoft Excel Hilfe
    ComboBox über Namens Manager füllen: Hallo liebe Community, Ich habe folgendes Problem zu dem mir leider keine Lösung einfällt: Ich möchte eine ComboBox in einem UserForm über den Namens Manager mit Daten aus einem Tabellenblatt...
  4. Combobox füllen

    in Microsoft Excel Hilfe
    Combobox füllen: Servus beinander, Ich fülle eine Combobox mit Code: CBoxKB8.List = Sheets("KH_LH").Range("LH160_Gew").Value Das Script in der Tabelle (nicht Userform) liest mir dann Werte ein, die in einer...
  5. Textbox mit Combobox füllen, berechnen und übergeben

    in Microsoft Excel Hilfe
    Textbox mit Combobox füllen, berechnen und übergeben: Hallo liebe VBA Experten, ich bräuchte mal wieder eure Hilfe und habe ein Beispieldatei beigefügt. Mittels einer ComboBox möchte ich die TextBoxen füllen, in Echtzeit den Betrag mit dem Faktor...
  6. Laufzeitfehler: 380 beim füllen einer Combobox

    in Microsoft Excel Hilfe
    Laufzeitfehler: 380 beim füllen einer Combobox: Hallo Zusammen, ich weiß nicht mehr weiter. Ich bekomme beim befüllen einer Combobox den Fehler Laufzeitfehler 381 Eigenschaft List konnte nicht gesetzt werden. Index des Eigenschaftsfelds...
  7. Mehrere ComboBoxen mit gleichem Inhalt füllen

    in Microsoft Excel Hilfe
    Mehrere ComboBoxen mit gleichem Inhalt füllen: Liebe Excel-Gurus Als blutiger Anfänger stehe ich mal wieder auf dem Schlauch. Ich habe eine Userform mit einer Multipage. Auf den einzelnen Seiten gibt es jeweils mehrere ComboBoxen. Die...
  8. ListBox Felder über ComboBox füllen

    in Microsoft Excel Hilfe
    ListBox Felder über ComboBox füllen: Hallo an alle und speziel an die die Helfen, ich habe da mal wieder ein kleines Problem. Ausgangslage ist 1 UserForm1 mit 1 Combobox, 1 Listenfeld und 22 Textboxen. Ich möchte aus Tabelle 1 über...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden