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

Forumthread: Mehrfachauswahl von Checkboxen in mehrere Zeilen

Mehrfachauswahl von Checkboxen in mehrere Zeilen
04.06.2019 14:58:11
Checkboxen
Hallo zusammen,
ich bin absoluter VBA-Neuling und habe jetzt 3 Tage vergeblich für dieses Problem eine Lösung gesucht. Ich habe eine Userform erstellt, in der verschiedene Eingaben getätigt werden sollen. Unter anderem einige Checkboxen. Es geht um die Spalte "Vortrag", hier können eine oder mehrer Vorträge angeklickt werden. Falls mehrere angeklickt werden sollen dementsprechend viele Zeilen mit den gleichen Inhalten aus den anderen Spalten erzeugt werden. Lediglich in der Spalte F mit den Vorträgen soll jeweils der nächste ausgewählte Vortrag aus der nächsten Checkbox stehen.
Ich habe verschiedene Ansätze probiert und kriege es hin, dass alle ausgewählten Vorträge hintereinander in der gleochen Zelle der Spalte F stehen, getrennt durch ein definiertes Zeichen. Jedoch kann ich das nicht weiter verarbeiten. Theoretisch kann sich dieser Befehl anschließen, die weiteren ausgewählten Einträge in mehrere Zeilen aufzuschlüsseln, aber auch das hat mit verschiedenen Ansätzen nicht geklappt. Das Problem hierbei ist, dass icj für die Vorträge eine ultipage ausgewählt habe und es insgesamt seeeehr viele Vortäge sind, die theoretisch ausgewählt werden können, praktisch aber nur immer die, die innerhalb eines Tabs der Multipage stehen.
So sieht das ganze ohne irgendeine Kopierfunktion aus.
Private Sub Eingabe_Click()
'Erste freie Zeile ausfindig machen
Dim last As Integer
last = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row + 1
'Name
Cells(last, 1).Value = TextBox_Name
'Vorname
Cells(last, 2).Value = TextBox_Vorname
'Zielgruppe
If CheckBox_Arzt.Value = True Then Cells(last, 3).Value = CheckBox_Arzt.Caption
If CheckBox_Apotheker.Value = True Then Cells(last, 3).Value = CheckBox_Apotheker.Caption
'Seminarart
Cells(last, 4).Value = ListBox_Seminarart.Value
'Datum
Cells(last, 5).Value = TextBox_Datum
'Vortrag
If CheckBox0.Value = True Then Cells(last, 6).Value = CheckBox0.Caption
If CheckBox1.Value = True Then Cells(last, 6).Value = Cells(last, 6).Value & " / " & CheckBox1.  _
_
_
Caption
If CheckBox2.Value = True Then Cells(last, 6).Value = Cells(last, 6).Value & " / " & CheckBox2.  _
_
_
Caption
If CheckBox3.Value = True Then Cells(last, 6).Value = Cells(last, 6).Value & " / " & CheckBox3.  _
_
_
Caption
If CheckBox4.Value = True Then Cells(last, 6).Value = Cells(last, 6).Value & " / " & CheckBox4.  _
_
_
Caption
If CheckBox5.Value = True Then Cells(last, 6).Value = Cells(last, 6).Value & " / " & CheckBox5.  _
_
_
Caption
If CheckBox6.Value = True Then Cells(last, 6).Value = Cells(last, 6).Value & " / " & CheckBox6.  _
_
_
Caption
If CheckBox7.Value = True Then Cells(last, 6).Value = Cells(last, 6).Value & " / " & CheckBox7.  _
_
_
Caption
'Sub schliessen
Unload UserForm1
End Sub
Da ich noch keine Lösung habe, habe ich die Checkboxen aus den einzelnen Tabs noch nicht alle gefüllt und im Sub aufgenommen. Die Excel Datei sieht so aus.
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Mehrfachauswahl von Checkboxen in mehrere Zeilen
04.06.2019 15:04:09
Checkboxen
Hier die Userform und die Liste
Userbild
Userbild
Schönes Bild....
04.06.2019 19:49:31
Werner
Hallo Nico,
...und die Datei dazu soll jetzt jemand nachbauen? Du hast sie doch, dann bitte hier hochladen.
Gruß Werner
Anzeige
AW: Mehrfachauswahl von Checkboxen in mehrere Zeilen
04.06.2019 21:41:25
Checkboxen
Hallo Nico,
hier mal dein angepasster Code. Analog dann für die weiteren CheckBoxen.
Private Sub Eingabe_Click()
Dim last As Long, i As Long, strWert As String
last = Cells(Rows.Count, 1).End(xlUp).Row + 1
'Name
Cells(last, 1).Value = TextBox_Name
'Vorname
Cells(last, 2).Value = TextBox_Vorname
'Zielgruppe
If CheckBox_Arzt Then Cells(last, 3) = CheckBox_Arzt.Caption
If CheckBox_Apotheker Then Cells(last, 3) = CheckBox_Apotheker.Caption
'Seminarart
Cells(last, 4) = ListBox_Seminarart
'Datum
Cells(last, 5) = CDate(TextBox_Datum)
'Vortrag
For i = 0 To 6
With Me.Controls("CheckBox" & i)
If Me.Controls("Checkbox" & i) Then
If strWert = vbNullString Then
strWert = Me.Controls("CheckBox" & i).Caption
Else
strWert = strWert & vbLf & Me.Controls("Checkbox" & i).Caption
End If
End If
End With
Next i
Cells(last, 6) = strWert
'Sub schliessen
Unload UserForm1
End Sub
Gruß Werner
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Mehrfachauswahl von Checkboxen in Excel: So funktioniert's


Schritt-für-Schritt-Anleitung

Um mehrere Checkboxen in Excel zu verwenden und die Auswahl in mehreren Zeilen aufzulisten, kannst Du die folgenden Schritte befolgen:

  1. Userform erstellen: Erstelle eine Userform in Excel, auf der Du verschiedene Eingabefelder und Kontrollkästchen (Checkboxen) einfügst.
  2. Checkboxen hinzufügen: Füge die gewünschten Checkboxen hinzu. Du kannst mehrere Kontrollkästchen in eine Userform einfügen, um eine excel checkbox mehrfachauswahl zu ermöglichen.
  3. Code für die Eingabe: Verwende den folgenden VBA-Code, um die ausgewählten Checkboxen in mehreren Zeilen zu speichern:
Private Sub Eingabe_Click()
    Dim last As Long, i As Long, strWert As String
    last = Cells(Rows.Count, 1).End(xlUp).Row + 1
    'Name
    Cells(last, 1).Value = TextBox_Name
    'Vorname
    Cells(last, 2).Value = TextBox_Vorname
    'Zielgruppe
    If CheckBox_Arzt Then Cells(last, 3) = CheckBox_Arzt.Caption
    If CheckBox_Apotheker Then Cells(last, 3) = CheckBox_Apotheker.Caption
    'Seminarart
    Cells(last, 4) = ListBox_Seminarart
    'Datum
    Cells(last, 5) = CDate(TextBox_Datum)
    'Vortrag
    For i = 0 To 6
        With Me.Controls("CheckBox" & i)
            If .Value Then
                If strWert = vbNullString Then
                    strWert = .Caption
                Else
                    strWert = strWert & vbLf & .Caption
                End If
            End If
        End With
    Next i
    Cells(last, 6) = strWert
    'Sub schliessen
    Unload UserForm1
End Sub
  1. Eingabe testen: Teste die Userform, indem Du verschiedene Checkboxen auswählst und die Eingabe abschickst, um sicherzustellen, dass die Daten korrekt in die Excel-Tabelle eingetragen werden.

Häufige Fehler und Lösungen

  • Checkboxen werden nicht erkannt: Stelle sicher, dass die Namen der Checkboxen im Code korrekt sind. Überprüfe, ob Du die richtigen Kontrollkästchen referenzierst.
  • Daten erscheinen nicht in mehreren Zeilen: Vergewissere Dich, dass Du die vbLf-Zeichen in der Schleife verwendest, um die Werte korrekt untereinander anzuzeigen.
  • Userform schließt nicht: Wenn die Userform nicht schließt, könnte ein Fehler im Code vorliegen. Achte darauf, dass kein Fehler auftritt, bevor Du Unload UserForm1 aufrufst.

Alternative Methoden

Eine alternative Methode zur Verwendung von excel dropdown mehrfachauswahl ist die Verwendung von Datenvalidierung, um eine Dropdown-Liste zu erstellen. Diese Methode erlaubt jedoch nicht die Auswahl mehrerer Werte direkt in einer Zelle. Stattdessen könntest Du ein Makro erstellen, das die ausgewählten Werte in eine andere Zelle überträgt.


Praktische Beispiele

Hier ist ein praktisches Beispiel, wie Du mehrere Kontrollkästchen in Excel einfügen kannst:

  1. Füge eine Userform hinzu und platziere mehrere Checkboxen für verschiedene Vorträge.
  2. Verwende den bereitgestellten VBA-Code, um die ausgewählten Checkboxen beim Klicken auf "Eingabe" in die Tabelle zu übertragen.

Die Ergebnisse könnten wie folgt aussehen:

Name Vorname Zielgruppe Seminarart Datum Vortrag
Max Mustermann Arzt Seminar A 01.01.2023 Vortrag 1
Max Mustermann Arzt Seminar A 01.01.2023 Vortrag 2
Max Mustermann Arzt Seminar A 01.01.2023 Vortrag 3

Tipps für Profis

  • Erweiterte Funktionen: Nutze die excel dropdown mehrfachauswahl ankreuzen Funktion, um eine bessere Benutzererfahrung zu schaffen.
  • Zellformatierung: Formatiere die Zellen, um die Lesbarkeit der eingetragenen Werte zu verbessern, insbesondere wenn mehrere Vorträge eingetragen werden.
  • Automatisierung: Überlege, wie Du die Eingabedaten weiterverarbeiten kannst, z.B. durch Verwendung von Pivot-Tabellen oder Filtern.

FAQ: Häufige Fragen

1. Wie füge ich mehrere Kontrollkästchen in eine Userform ein?
Du kannst mehrere Kontrollkästchen einfach über die Toolbox in der Userform hinzufügen, indem Du das Kontrollkästchen-Tool auswählst und es auf die Userform ziehst.

2. Kann ich die Checkboxen auch in mehreren Spalten anordnen?
Ja, Du kannst die Kontrollkästchen in verschiedenen Spalten anordnen, indem Du sie entsprechend in der Userform positionierst.

3. Wie kann ich die ausgewählten Checkboxen in einer Dropdown-Liste anzeigen?
Du kannst die Werte in einer ListBox zur Anzeige der Auswahl verwenden, jedoch ist eine direkte excel dropdown mehrfachauswahl checkbox-Funktion nicht standardmäßig verfügbar. Du müsstest dies über VBA programmieren.

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