Office: (Office 365) Dynamische Combobox mit zwei Bedingungen

Helfe beim Thema Dynamische Combobox mit zwei Bedingungen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo ich bräuchte einen vba Code welcher eine dynamische Combobox befüllt. Zudem soll die Combobox alle schon eingetragenen Daten in einer Spalte beim... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von icjc99, 23. August 2024.

  1. icjc99 Neuer User

    Dynamische Combobox mit zwei Bedingungen


    Hallo ich bräuchte einen vba Code welcher eine dynamische Combobox befüllt. Zudem soll die Combobox alle schon eingetragenen Daten in einer Spalte beim Dropdown ausschiessen damit keine Doppelten Einträge getätigt werden. Dies Daten aus der Combobox werden auch in eine Tabelle eingetragen welche"EigThemen" heisst und hier ist es die erste Spalte ab der zweiten Zeile da Überschriften.
    Bisher habe ich mir diese gebaut:

    Private Sub UserForm_Initialize() 'Ausgehende Combobox
    Dim lngRechtesterEintrag As Long
    Dim i As Integer
    lngRechtesterEintrag = Sheets("Themen").Cells(1, Columns.Count).End(xlToLeft).Column
    With Me.ComboBoxHauptprojekt
    For i = 1 To lngRechtesterEintrag
    Eintrag = Sheets("Themen").Cells(1, i).Value
    .AddItem CStr(Eintrag)
    Next
    End With
    lngRechtesterEintrag = Sheets("Uhrzeiten").Cells(1, Columns.Count).End(xlToLeft).Column
    With Me.ComboBoxWochentag
    For i = 2 To lngRechtesterEintrag
    Eintrag = Sheets("Uhrzeiten").Cells(1, i).Value
    .AddItem CStr(Eintrag)
    Next
    End With
    Set sh = ThisWorkbook.Sheets("Dozenten")
    Me.ComboBoxDozent.Clear
    For i = 2 To sh.Range("A" & Application.Rows.Count).End(xlUp).Row
    Me.ComboBoxDozent.AddItem sh.Range("A" & i).Value
    Next i
    Set sh = ThisWorkbook.Sheets("Arten")
    Me.ComboBoxArt.Clear
    For i = 2 To sh.Range("A" & Application.Rows.Count).End(xlUp).Row
    Me.ComboBoxArt.AddItem sh.Range("A" & i).Value
    Next i
    Set sh = ThisWorkbook.Sheets("Uhrzeiten")
    Me.ComboBoxUhrzeit.Clear
    For i = 2 To sh.Range("A" & Application.Rows.Count).End(xlUp).Row
    Me.ComboBoxUhrzeit.AddItem sh.Range("A" & i).Value
    Next i
    End Sub

    Private Sub ComboBoxHauptprojekt_Change() 'Empfangende Combobox
    Dim lngRechtesterEintrag1 As Long
    ComboBoxNebenprojekt.Clear
    lngRechtesterEintrag = Sheets("Themen").Cells(1, Columns.Count).End(xlToLeft).Column
    If ComboBoxHauptprojekt.ListIndex = -1 Then Exit Sub
    For i = 1 To lngRechtesterEintrag
    Eintrag = Sheets("Themen").Cells(1, i).Value
    If ComboBoxHauptprojekt = Eintrag Then
    ZeileMax = Sheets("Themen").Cells(Rows.Count, i).End(xlUp).Row
    For n = 2 To ZeileMax
    nebenprojekt = Sheets("Themen").Cells(n, i)
    ComboBoxNebenprojekt.AddItem CStr(nebenprojekt)
    Next
    End If
    Next
    End Sub
     
  2. Hajo_Zi
    Hajo_Zi Erfahrener User
    ich konnte Deinen Code nicht testen, was wohl daran liegt das ich nicht auf freme Rechner schaue.
    Was ich nicht sehe ist die Überprüfung ob schon vorhanden. Countif()

    Dynamische Combobox mit zwei Bedingungen GrußformelDynamische Combobox mit zwei Bedingungen Homepage
     
    Hajo_Zi, 24. August 2024
    #2
  3. icjc99 Neuer User
    Der Code welcher hier steht habe ich selber zusammen gebaut mit hilfe von YouTube videos und viel Versuchen und Fehler beheben. Der funktioniert soweit.
    Zum Ablauf es werden aus der Ausgebenden Cobobox Werte welche in einer Tabelle stehen ausgewählt. Auf der Grundlage dieser Werte wird die ausgebende Combobox aus einer Spalte einer Tabelle gefüllt welche die Überschrift der Auswahl der vorherigen Combobox enthält. soweit so gut. Jetzt werden die ausgewählen Werte der ausgebenden Combobox in eine Tabelle geschrieben.
    Ich möchte jetzt als zusätlichen Filter die Werte der ausgehenden Combobox und die Werte der in die Tabelle geschriebenen Werte zusätzlich reduzieren damit eine doppelt Eintragung nicht möglich ist.
    Gruß icjc99
     
  4. Hajo_Zi
    Hajo_Zi Erfahrener User

    Dynamische Combobox mit zwei Bedingungen

    Gut rmein Beitrag wurde nicht komplett gelesen.
    Ich bin dann raus.
    Viel Erfolg noch.

     
    Hajo_Zi, 24. August 2024
    #4
  5. icjc99 Neuer User
    Ok danke, für deine Bemühungen.
     
  6. OilMax hat Ahnung
    Hallo,

    ich setze deinen Code mal in den Code-Tag
    Code:
    Private Sub UserForm_Initialize() 'Ausgehende Combobox
        Dim lngRechtesterEintrag As Long, sh As Worksheet
        Dim i As Integer, Eintrag$
        lngRechtesterEintrag = Sheets("Themen").Cells(1, Columns.Count).End(xlToLeft).Column
        With Me.ComboBoxHauptprojekt
            For i = 1 To lngRechtesterEintrag
                Eintrag = Sheets("Themen").Cells(1, i).Value
                .AddItem CStr(Eintrag)
            Next
        End With
        lngRechtesterEintrag = Sheets("Uhrzeiten").Cells(1, Columns.Count).End(xlToLeft).Column
        With Me.ComboBoxWochentag
            For i = 2 To lngRechtesterEintrag
                Eintrag = Sheets("Uhrzeiten").Cells(1, i).Value
                .AddItem CStr(Eintrag)
            Next
        End With
        Set sh = ThisWorkbook.Sheets("Dozenten")
        Me.ComboBoxDozent.Clear
        For i = 2 To sh.Range("A" & Application.Rows.Count).End(xlUp).Row
            Me.ComboBoxDozent.AddItem sh.Range("A" & i).Value
        Next i
        Set sh = ThisWorkbook.Sheets("Arten")
        Me.ComboBoxArt.Clear
        For i = 2 To sh.Range("A" & Application.Rows.Count).End(xlUp).Row
            Me.ComboBoxArt.AddItem sh.Range("A" & i).Value
        Next i
        Set sh = ThisWorkbook.Sheets("Uhrzeiten")
        Me.ComboBoxUhrzeit.Clear
        For i = 2 To sh.Range("A" & Application.Rows.Count).End(xlUp).Row
            Me.ComboBoxUhrzeit.AddItem sh.Range("A" & i).Value
        Next i
    End Sub
    
    Private Sub ComboBoxHauptprojekt_Change() 'Empfangende Combobox
        Dim lngRechtesterEintrag1 As Long
        ComboBoxNebenprojekt.Clear
        lngRechtesterEintrag = Sheets("Themen").Cells(1, Columns.Count).End(xlToLeft).Column
        If ComboBoxHauptprojekt.ListIndex = -1 Then Exit Sub
        For i = 1 To lngRechtesterEintrag
            Eintrag = Sheets("Themen").Cells(1, i).Value
            If ComboBoxHauptprojekt = Eintrag Then
                ZeileMax = Sheets("Themen").Cells(Rows.Count, i).End(xlUp).Row
                For n = 2 To ZeileMax
                    nebenprojekt = Sheets("Themen").Cells(n, i)
                    ComboBoxNebenprojekt.AddItem CStr(nebenprojekt)
                Next
            End If
        Next
    End Sub
    Damit ist dies für jeden besser lesbar.
    Schreibe dann in die 1.Zeile: Option Explicit.
    Da protestiert dann der Compiler gegen sämtliche nicht deklarierte Variablen.
    Dann braucht es die Zusammenhänge für das Füllen der abhängigen Comboboxen.
    Deshalb lade anonymisiert mit verwertbaren Datensätzen (wo sich die Zusammenhänge für außenstehende nachvollziehbar abbilden) eine entsprechend aufbereitete Demodatei hoch. Dann ist es einfach und schnell möglich dir zu helfen und einen entsprechenten effizienten Lösungsweg anzubieten.

    Gruß Uwe
     
Thema:

Dynamische Combobox mit zwei Bedingungen

Die Seite wird geladen...
  1. Dynamische Combobox mit zwei Bedingungen - Similar Threads - Dynamische Combobox Bedingungen

  2. Dynamische Dropdown-Auswahl

    in Microsoft Excel Hilfe
    Dynamische Dropdown-Auswahl: Hallo, ich möchte gern eine dynamische Dropdown-Auswahl erstellen, bin mir aber nicht sicher, ob es in der Konstellation überhaupt geht, da Dropdown scheinbar nur eine Formel aktzeptiert, aber...
  3. Xverweis mit dynamischen Datum

    in Microsoft Excel Hilfe
    Xverweis mit dynamischen Datum: Hallo zusammen Ich neu hier und suche eine Formel für Werteübertragung aus einem anderen Dokument mit dynamischen Datum (Arbeitstag(Heute()+1) Ich habe einen Jahreskalender mit Einteilung mehrere...
  4. Daten aus einer Datei in andere Datei Kopieren u. Einfügen Dynamisch

    in Microsoft Excel Hilfe
    Daten aus einer Datei in andere Datei Kopieren u. Einfügen Dynamisch: Hallo zusammen, ich verzweifle mal wieder. ich habe zwei Dateien mit 10 Tabellenblätter (gleicher Aufbau). In der Datei 1 (Quelldatei) gibt es ein Tabellenblatt mit dem Namen Mieter1 Datei 2...
  5. Dynamische Tabellen mit automatischer Aktualisierung

    in Microsoft Excel Hilfe
    Dynamische Tabellen mit automatischer Aktualisierung: Hallo in die Runde! Vorab schon mal vielen Dank für alle Mühen und die Hilfe! Ich habe folgendes Anliegen: Ich habe eine Geräteliste als Excel Datei mit einigen verschiedenen Tabellenblättern...
  6. (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?

    in Microsoft Excel Hilfe
    (Excel) Dynamische Tabelle, VBA, fehlende Formatierung?: Liebe Experten, Gefilterte Daten sollen in ein Listobject übertragen werden. Für das Listobject habe ich ein Template angelegt, dass alle Formatierungen (u.a. bedingte Formatierung etc.) enthält....
  7. ComboBox Dynamische Suche

    in Microsoft Excel Hilfe
    ComboBox Dynamische Suche: Hallo liebes Forum, ich bin gerade bei einem Projekt und möchte mal wissen, ob folgendes zu realisieren ist. Ich habe eine Liste. Als Beispiel im Anhang mal die Liste der 100 reichsten Deutschen....
  8. Combobox-Liste dynamisch anpassen aufgrund der Filtereinstellung

    in Microsoft Excel Hilfe
    Combobox-Liste dynamisch anpassen aufgrund der Filtereinstellung: Ich habe in der Spalte A verschiedene Daten, welche mit einem Autofilter gefiltert werden können. Alle Werte in der Spalte A sollen in einer Combobox aufgeführt werden. Sind die Daten in der...
Schlagworte:
  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