Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Userform
BildScreenshot zu Userform Userform-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Combobox 1+2 suchen wert eintrag

Betrifft: Combobox 1+2 suchen wert eintrag von: Michi
Geschrieben am: 27.03.2020 07:38:51

Hallo Ihr Excel Profis


Ich hoffe Ihr könnt mir wieder einmal helfen.


Mein Problem ist, ich habe in der Userform Kurseintrag bei der Eingabe Combobox 1 dort wähle ich den Tag aus das Klappt mit Montagvormittag 1 mit der Hilfsspalte super und auch zeigt er mir in der Label45 an ob der Platz frei oder besetzt ist.


Nun möchte ich aber z.B. Montagnachmittag (Combobox1 ) und denn Platz 1 oder 2 usw. (Combobox 2) anwählen und wenn der Platz frei ist soll es mir die Meldung in der Label45 (denn entsprechenden Text angeben) .

Ich hoffe Ihr könnt mir helfen?


https://www.herber.de/bbs/user/136143.xlsm


Ich bedanke mich für eure Hilfe und Bemühungen.

Lg Michi

Betrifft: AW: Combobox 1+2 suchen wert eintrag
von: Matthias
Geschrieben am: 27.03.2020 14:02:19

Moin!
Mal noch eine Frage. Da das "Konzept" dann vermutlich auch für die anderen Tage funktionieren soll, was trägst du den in der Hilfsspalte ein? Kommmt da immer Montagvormittag, Montagnachmittag, Dienstagvormittag usw. hin? GIbt es da nur die Tage, die auch unter deinen Einstellungen in Tabelle8 erfasst sind oder kommt noch was hinzu? Und wie sieht das mit der Anzahl der Sitzplätze aus? SInd das immer 8 oder wie in deiner Liste Sitzplätze nachmittags nur 3? DAvon hängt dann ab, was der Code machen soll und wie man vorgeht. Ich frage mal vorher, weil es sonst vorkommen kann, dass du eine Lösung für die Daten in deiner DAtei hast aber das nicht allgemein für alle passt.
Wenn dann würde ich auch die CB6 (deine Sitzplätze) mit ändern. Da wird jetz von 1 bis 8 und dann nochmal 1 bis 3 angezeigt. Die letzten 3 waren aber lt. Liste für den Nachmittag. GIbt es da generell eine Übersicht, welcher Tag wieviele Plätze hat oder werden das immer 8?
Ich weiß noch kein COde aber viele Fragen. Macht aber das programmieren später leichter.
VG

Betrifft: AW: Combobox 1+2 suchen wert eintrag
von: Michi
Geschrieben am: 27.03.2020 14:14:39

Hallo Matthias

Ja genau, es kommt immer Montagvormittag, Montagnachmittag, Dienstagvormittag usw. also bis Freitagnachmittag hin
Und die Sitzplätze sind immer 1-8 von jedem Tag, als Montagvormittag 1-8, Montagnachmittag 1-8, Dienstagvormittag 1-8 und das geht weiter bis Freitagnachmittag.

Ich habe noch nicht alles Eingetragen da ich immer wieder am probieren war, sorry.

Danke für deine Hilfe.
Lg Michi

Lg Michi

Betrifft: AW: Combobox 1+2 suchen wert eintrag
von: Matthias
Geschrieben am: 27.03.2020 16:14:11

Moin!
Hier das ist deine Datei zurück.
https://www.herber.de/bbs/user/136170.xlsm
Habe beim Initialize mal geändert, dass nur 8 Zahlen in der CB6 eingetragen sind.
Das Changeevent von CB1 habe ich angepasst und bei CB6 was ergänzt. Wenn du nun in CB was auswählst, wird CB6 zurück gesetzt. Wenn du dann in CB6 was auswählst, wird dein Eintrag in das Label geschrieben. Du solltest aber nochmal deine Liste überpüfen. Es reicht, wenn du Montagvormittag hast oder Nummer dahinter. Entsprechend auch in der Liste so eintragen. In der Liste ist aber auch der Eintrag Kurseinheit drin. Der sollte wohl rausgenommen werden.
Probiers mal aus.
VG

Betrifft: AW: Combobox 1+2 suchen wert eintrag
von: Michi
Geschrieben am: 27.03.2020 17:08:43

Hallo Matthias

Danke sehr für deine Hilfe ist schon fast perfekt. Nur trägt es mir die Person leider nicht in die Tabelle Anwesenheit ein.

Wenn ich die Daten eingetragen habe und einen Kursteilnehmer auswähle und dann auf Button "Kurs in die Datenbankeintragen, trägt es mir leider nicht in die Anwesenheit wo die Person auf dem Platz sein soll?

Kannst du mir weiter helfen?

Lg Michi

Betrifft: AW: Combobox 1+2 suchen wert eintrag
von: Matthias
Geschrieben am: 27.03.2020 20:40:24

Moin!
Dann ändere den Code vom Commandbutton3 mal so. Damit wird es eingetragen. Für Montagvormittag, schreib nur Montagvormittag ohne die Zahlen hinten rein. Dann geht der Code auch. Ansonsten muss man wieder zuviel anpassen.
Private Sub CommandButton3_Click()
    Dim lZeil As Long
    Dim lListBox  As Long
    Dim NextKursID As Long
    Dim NextID As Long
    Dim NextCell As Long
    
NextKursID = Application.Max(Sheets("Kursteilnahmen").Range("G:G")) + 1
NextID = Application.Max(Sheets("Kursteilnahmen").Range("A:A")) + 1
NextCell = 2
Do While Trim(CStr(Worksheets("Kursteilnahmen").Cells(NextCell, 1).Value)) <> ""
NextCell = NextCell + 1
Loop
lZeil = 2

For lListBox = 0 To ListBox4.ListCount - 1
    Worksheets("Kursteilnahmen").Range("A" & CDbl(NextCell) + lListBox).Value = CDbl(NextID) +  _
lListBox
    Worksheets("Kursteilnahmen").Range("B" & CDbl(NextCell) + lListBox).Value = ListBox4.List( _
lListBox, 0)
    Worksheets("Kursteilnahmen").Range("C" & CDbl(NextCell) + lListBox).Value = ListBox4.List( _
lListBox, 1)
    Worksheets("Kursteilnahmen").Range("D" & CDbl(NextCell) + lListBox).Value = ListBox4.List( _
lListBox, 2)
    Worksheets("Kursteilnahmen").Range("E" & CDbl(NextCell) + lListBox).Value = ListBox4.List( _
lListBox, 3)
    Worksheets("Kursteilnahmen").Range("F" & CDbl(NextCell) + lListBox).Value = ListBox4.List( _
lListBox, 4)
    Worksheets("Kursteilnahmen").Range("G" & CDbl(NextCell) + lListBox).Value = CDbl(NextKursID) _

    Worksheets("Kursteilnahmen").Range("H" & CDbl(NextCell) + lListBox).Value = TextBox20.Text
    Worksheets("Kursteilnahmen").Range("I" & CDbl(NextCell) + lListBox).Value = TextBox19.Text
    Worksheets("Kursteilnahmen").Range("J" & CDbl(NextCell) + lListBox).Value = TextBox18.Text
    Worksheets("Kursteilnahmen").Range("K" & CDbl(NextCell) + lListBox).Value = TextBox17.Text
    Worksheets("Kursteilnahmen").Range("L" & CDbl(NextCell) + lListBox).Value = TextBox21.Text
    Worksheets("Kursteilnahmen").Range("M" & CDbl(NextCell) + lListBox).Value = TextBox16.Text
    Worksheets("Kursteilnahmen").Range("N" & CDbl(NextCell) + lListBox).Value = TextBox15.Text
    Worksheets("Kursteilnahmen").Range("P" & CDbl(NextCell) + lListBox).Value = TextBox14.Text
    
Next lListBox

'Testversuch 19.03.2020 funktioniert zum Teil nur noch Eintrag in der Falschen zeile, eintrag ü _
ber Userform Direkt an gewünschten Platz'
'Dim lngErste As Long
' With Worksheets("Anwesenheit") 'Eintrag nach Bestätigung einfügen'
'    lngErste = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, . _
Rows.Count) + 1
'    If Me.ComboBox1.Column(0) = "Montagvormittag 1" Then
'        .Cells(lngErste, 4) = Me.TextBox25
'        .Cells(lngErste, 5) = Me.TextBox27
'        .Cells(lngErste, 9) = Me.ComboBox5
'    End If
' End With
'test 27.03.2020 funktioniert
      Dim rngAuswahl As Range
    With Worksheets("Anwesenheit") 'Eintrag nach Bestätigung einfügen'
        Set rngAuswahl = .Columns(2).Find(Me.ComboBox1.Value, lookat:=xlWhole)
        'Set rngAuswahl = .Columns(3).Find(Me.ComboBox6.Value, lookat:=xlWhole) 'test24.03.2020
        If Not rngAuswahl Is Nothing Then
            ' noch niemand eingetragen dann eintragen
           ' If .Cells(rngAuswahl, 4) = " " Then
            If .Cells(rngAuswahl.Row + Me.ComboBox6.ListIndex, 4) = "" Then
               .Cells(rngAuswahl.Row + Me.ComboBox6.ListIndex, 4) = Me.TextBox25
                .Cells(rngAuswahl.Row + Me.ComboBox6.ListIndex, 5) = Me.TextBox27
                .Cells(rngAuswahl.Row + Me.ComboBox6.ListIndex, 9) = Me.ComboBox5
       '      Label45.Caption = "Platz ist frei" 'Wenn Platz frei dann schreib es in textlabel  _
rein
        '         CommandButton9.Enabled = True
        '    Else
        '   Label45.Caption = "Schon belegt, bitte eine andere Auswahl treffen" 'Ist Platz  _
nicht frei dann schreib in textlabel rein
            '    MsgBox "Schon belegt, bitte eine andere Auswahl treffen"
            End If
      '  Else

      '      MsgBox Me.ComboBox1.Value & " nicht vorhanden"
        End If
    End With

Unload Me

End Sub

VG

Betrifft: AW: Danke viel mal
von: Michi
Geschrieben am: 27.03.2020 21:07:42

Hallo Matthias

Genial, funktioniert einwandfrei. Es ist genau so wie ich es gern wollte.

Danke vielmals für deine mühe und deine Hilfsbereitschaft.

Wünsche Dir noch einen schönen Abend.

Lg Michi

Beiträge aus dem Excel-Forum zum Thema "Combobox 1+2 suchen wert eintrag"