Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: mehrere checkboxen in eine Zelle

mehrere checkboxen in eine Zelle
10.03.2022 08:59:04
soldblub
Hallo Zusammen,
Bisher habe ich immer einzelnd den gewünschten Inhalte diverser Checkboxen in unterschiedliche Zelle übernommen.
If Checkbox1.Value = True Then
Tabelle9.Range("B1).Value = "Sonne"
End If
Jetzt möchte ich aber deutlich mehr Checkboxen abfragen und die Caption als Text mit Komma getrennt in eine Zelle schreiben. Außerdem besteht bei eine Checkbox aus einer Kombi mit einem Textfeld als. sog. Freitextfel. Dies müsste im Anschluss, als letztes übertragen werden.
Habe bisher immer Schleifen vermieden, weil ich es meistens nicht hin kriege. Habe versucht meine erfolgreiche Schleife einer Listbox umzubauen, bekomme es aber nicht hin, da ich keine Ahnung habe wie ich die aktive Checkboxen rausfiltern.

Private Sub CheckCheck()
Dim i As Long
Dim txt As String
For i = 0 To 11
If CheckBox.activated(i) Then txt = txt & "; " & vbCrLf & CheckBox(i)
Next
Tabelle9.Range("B59").Value = Mid(txt, 2)
If MsgBox("Daten übertragen, möchten Sie weitermachen? ", vbOKCancel) = vbOK Then
End If
End Sub
Vielen Dank für Eure Hilfe
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: mehrere checkboxen in eine Zelle
10.03.2022 09:02:13
Oberschlumpf
Hi,
zeig doch bitte mal ne Bsp-Datei mit Bsp-Daten, den Controls und dem Code.
Ciao
Thorsten
AW: mehrere checkboxen in eine Zelle
10.03.2022 09:57:19
Rudi
Hallo,
prinzipiell so:

Private Sub CheckCheck()
Dim i As Long
Dim txt As String
For i = 0 To 11
If Controls("CheckBox" & i) = True Then
txt = txt & "; " & Controls("CheckBox" & i).Caption
End If
Next i
txt = txt & "; " & TextBox1 'der Freitext
Tabelle9.Range("B59").Value = Mid(txt, 2)
If MsgBox("Daten übertragen, möchten Sie weitermachen? ", vbOKCancel) = vbOK Then
End If
End Sub
Ich würde aber eher eine Listbox (multiselct) nehmen.
Gruß
Rudi
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
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

Mehrere Checkboxen in eine Zelle einfügen


Schritt-für-Schritt-Anleitung

Um mehrere Checkboxen in eine Zelle einzufügen, folge diesen Schritten:

  1. Checkboxen erstellen: Füge die Kontrollkästchen (Checkboxen) über die Entwicklertools in dein Excel-Dokument ein.
  2. VBA-Editor öffnen: Drücke ALT + F11, um den VBA-Editor zu öffnen.
  3. Modul hinzufügen: Klicke mit der rechten Maustaste auf „VBAProject (DeinWorkbookName)“ und wähle „Modul einfügen“.
  4. Code kopieren: Füge den folgenden Code in das Modul ein, um die Checkboxen abzufragen und in eine Zelle zu schreiben:

    Private Sub CheckCheck()
        Dim i As Long
        Dim txt As String
        For i = 0 To 11
            If Controls("CheckBox" & i) = True Then
                txt = txt & "; " & Controls("CheckBox" & i).Caption
            End If
        Next i
        txt = txt & "; " & TextBox1 'der Freitext
        Tabelle9.Range("B59").Value = Mid(txt, 2)
        If MsgBox("Daten übertragen, möchten Sie weitermachen? ", vbOKCancel) = vbOK Then
        End If
    End Sub
  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro über die Entwicklertools aus.

Häufige Fehler und Lösungen

  • Fehler: Kontrollkästchen nicht gefunden

    • Lösung: Überprüfe, ob die Namen der Checkboxen mit "CheckBox0", "CheckBox1" usw. übereinstimmen.
  • Fehler: Text wird nicht richtig angezeigt

    • Lösung: Stelle sicher, dass die Zelle, in die du schreibst, ausreichend Platz für den Text hat.
  • Fehler: Makro nicht ausführbar

    • Lösung: Aktiviere Makros in den Excel-Optionen unter „Sicherheitscenter“.

Alternative Methoden

Eine alternative Methode zum Einfügen von mehreren Kontrollkästchen in eine Zelle besteht darin, eine ListBox zu verwenden. Hierbei kannst du mehrere Auswahlmöglichkeiten bieten, die in einer Zelle zusammengefasst werden. Um dies zu tun:

  1. Füge eine ListBox über die Entwicklertools hinzu.
  2. Setze die MultiSelect-Eigenschaft auf „fmMultiSelectMulti“.
  3. Verwende einen ähnlichen VBA-Code, um die ausgewählten Werte in eine Zelle zu übertragen.

Praktische Beispiele

Hier ist ein einfaches Beispiel, wie du mehrere Checkboxen in Excel einfügen und deren Werte in eine Zelle schreiben kannst:

  1. Erstelle 12 Checkboxen mit den Namen „CheckBox0“ bis „CheckBox11“.
  2. Füge ein Textfeld mit dem Namen „TextBox1“ hinzu.
  3. Führe den oben genannten VBA-Code aus, um die Werte in die Zelle „B59“ zu übertragen.

Tipps für Profis

  • Zentrieren von Checkboxen: Um die Checkbox in der Zelle zu zentrieren, kannst du die Eigenschaften der Checkbox anpassen, indem du die Größe und Position über die Formatierung vornimmst.
  • Dynamische Checkboxen: Erstelle Checkboxen dynamisch mit Schleifen, um die Wartbarkeit des Codes zu verbessern.
  • Verwendung von Formeln: Du kannst auch Formeln verwenden, um die Ergebnisse von Checkboxen zu aggregieren, statt VBA.

FAQ: Häufige Fragen

1. Wie viele Checkboxen kann ich in eine Zelle einfügen?
Du kannst beliebig viele Checkboxen erstellen, jedoch ist die Lesbarkeit und Handhabung in einer Zelle begrenzt.

2. Kann ich die Checkboxen auch in Word einfügen?
Ja, du kannst Kontrollkästchen in Word einfügen, aber die Vorgehensweise unterscheidet sich. Hierbei kommen die Entwicklertools ebenfalls zum Einsatz.

3. Welche Excel-Version wird benötigt?
Die beschriebenen Methoden funktionieren in Excel 2010 und späteren Versionen, da die Entwicklertools in diesen Versionen verfügbar sind.

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