Thema Datum  Von Nutzer Rating
Antwort
Rot Combobox modal
19.06.2025 13:28:33 Matthias
NotSolved
19.06.2025 13:50:08 Gast63274
NotSolved

Ansicht des Beitrags:
Von:
Matthias
Datum:
19.06.2025 13:28:33
Views:
31
Rating: Antwort:
  Ja
Thema:
Combobox modal

Guten Tag!"

 

Ich habe ein grundsätzliches Problem mit einer ComboBox.
Aus ihr starte ich das Öffnen einer Datei zum Auslesen der Daten.

Mein Problem ist, dass die Combobox verschwindet und neu gestartet werden muss.

 

Private Sub cbo_Lehrgangsauswahl_Change()
    Dim wbLehrgaenge As Workbook
    Dim wsL As Worksheet
    Dim wsS As Worksheet
    Dim letzteZeile As Long, i As Long
    Dim suchwert As String
    Dim startdatum As String, enddatum As String
    Dim anzahl As Long

    suchwert = Me.cbo_Lehrgangsauswahl.Value
    If suchwert = "" Then Exit Sub

    ' Datei öffnen, falls geschlossen
    Set wbLehrgaenge = Nothing
    On Error Resume Next
    Set wbLehrgaenge = Workbooks("Lehrgänge.xlsm")
    On Error GoTo 0

    If wbLehrgaenge Is Nothing Then
        Set wbLehrgaenge = OeffneDateiWennNichtGeoeffnet("Lehrgänge.xlsm")
        If wbLehrgaenge Is Nothing Then Exit Sub
    End If

    Set wsL = wbLehrgaenge.Sheets("Lehrgänge")
    letzteZeile = wsL.Cells(wsL.Rows.Count, "F").End(xlUp).Row

    ' Datumssuche
    For i = 4 To letzteZeile
        If wsL.Cells(i, 6).Value = suchwert Then
            startdatum = Format(wsL.Cells(i, 3).Value, "dd.mm.yyyy")
            enddatum = Format(wsL.Cells(i, 4).Value, "dd.mm.yyyy")
            Me.txtDatumLehrgangAnzeigen.Value = startdatum & " - " & enddatum
            Exit For
        End If
    Next i

    ' Teilnehmer zählen (im Blatt "Schüler")
    Set wsS = ThisWorkbook.Sheets("Schüler")
    anzahl = 0

    If Left(Me.cbo_AuswahlLehrgangsart.Value, 3) = "RSG" Or Left(Me.cbo_AuswahlLehrgangsart.Value, 4) = "RS-G" Then
        For i = 3 To 1000
            If wsS.Cells(i, 12).Value = suchwert Then anzahl = anzahl + 1
        Next i
    ElseIf Left(Me.cbo_AuswahlLehrgangsart.Value, 3) = "RSP" Or Left(Me.cbo_AuswahlLehrgangsart.Value, 4) = "RS-P" Then
        For i = 3 To 1000
            If wsS.Cells(i, 27).Value = suchwert Then anzahl = anzahl + 1
            If wsS.Cells(i, 42).Value = suchwert Then anzahl = anzahl + 1
        Next i
    End If

    ' Ergebnis anzeigen
    Me.txtAngemeldeteTN.Value = anzahl

    ' Warnfarbe bei >12
    If anzahl > 12 Then
        With Me.txtAngemeldeteTN
            .BackColor = RGB(255, 150, 150)
        End With
        Application.Wait Now + TimeValue("00:00:05")
        Me.txtAngemeldeteTN.BackColor = vbWhite
    End If

    ' Datei schließen
    On Error Resume Next
    Set wbLehrgaenge = Workbooks("Lehrgänge.xlsm")
    If Not wbLehrgaenge Is Nothing Then wbLehrgaenge.Close SaveChanges:=False
    On Error GoTo 0
End Sub


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Combobox modal
19.06.2025 13:28:33 Matthias
NotSolved
19.06.2025 13:50:08 Gast63274
NotSolved