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

Zählen von nur aktivierten Checkboxen in User Form

Forumthread: Zählen von nur aktivierten Checkboxen in User Form

Zählen von nur aktivierten Checkboxen in User Form
nur
Hallo,
ich habe in einer User Form 90 Checkboxen. Ich möchte erreichen, dass XLS die aktivierten zählt und bei weniger oder mehr als 18 die Fehlermeldung ausgibt. Wie kann ich den Befehl geben, dass nur aktivierte Checkboxen gezählt werden. Den aktuellen Stand habe ich angehängt. Danke für jede Rückmeldung.
Gruß aus Korea

Private Sub Validation()
Dim cnt As Control
Dim icount As Integer
For Each cnt In Controls
If TypeName(cnt) = "CB_" Then icount = icount + 1
Next cnt
If icount = 18 Then
MsgBox ("Your data inputs were saved")
Else: MsgBox ("There a too less or many data inputs. Please check it again.")
End If
End Sub

Anzeige
AW: Zählen von nur aktivierten Checkboxen in User Form
nur

Private Sub Validation()
Dim cnt As Control
Dim icount As Integer
For Each cnt In Controls
If TypeName(cnt) = "CheckBox" Then icount = icount + 1
Next cnt
If icount = 18 Then
MsgBox ("Your data inputs were saved")
Else: MsgBox ("There a too less or many data inputs. Please check it again.")
End If
End Sub

Anzeige
AW: Zählen von nur aktivierten Checkboxen in User Form
nur
Hallo,
danke für die Rückmeldung. Ich habe die AW mal in XLS kopiert. Es funktioniert nicht. Kann das daran liegen, dass bei mir jede CheckBox einen eigenen Namen bekommen hat und nur CB_ für alle am Anfang gleich ist?
Danke für eine weitere Antwort
AW: Zählen von nur aktivierten Checkboxen in User Form
nur
Hallo,
wie folgt:

For Each cnt In Controls
If Left(cnt.Name, 3) = "CB_" Then
If cnt.Value Then icount = icount + 1
End If
Next cnt

gruss hans
Anzeige
AW: Zählen von nur aktivierten Checkboxen in User Form
31.03.2004 07:09:15
nur
Besten Dank Hans. Jetzt läuft alles rund.
Gruß
VBANeuling
;
Anzeige
Anzeige

Infobox / Tutorial

Aktivierte Checkboxen in User Forms zählen


Schritt-für-Schritt-Anleitung

Um in einer Excel User Form nur die aktivierten Checkboxen zu zählen, kannst Du den folgenden VBA-Code verwenden. Dieser Code zählt alle Checkboxen, deren Status auf "True" gesetzt ist.

  1. Öffne den Visual Basic for Applications (VBA) Editor mit ALT + F11.
  2. Füge einen neuen Code in das entsprechende UserForm-Modul ein.
  3. Nutze den folgenden VBA-Code:
Private Sub Validation()
    Dim cnt As Control
    Dim icount As Integer
    For Each cnt In Controls
        If TypeName(cnt) = "CheckBox" Then
            If cnt.Value Then icount = icount + 1
        End If
    Next cnt
    If icount = 18 Then
        MsgBox ("Your data inputs were saved")
    Else
        MsgBox ("There are too few or too many data inputs. Please check it again.")
    End If
End Sub
  1. Schließe den VBA-Editor und teste die User Form, indem Du einige Checkboxen aktivierst.

Häufige Fehler und Lösungen

  • Fehler: Der Code zählt keine aktivierten Checkboxen.

    • Lösung: Stelle sicher, dass alle Checkboxen im UserForm tatsächlich den Typ "CheckBox" haben. Der Code prüft nur Checkboxen mit TypeName(cnt) = "CheckBox".
  • Fehler: Die Fehlermeldung wird immer angezeigt.

    • Lösung: Überprüfe, ob Du 18 Checkboxen aktiviert hast. Du kannst den Wert in der Bedingung If icount = 18 anpassen, um verschiedene Anforderungen zu erfüllen.

Alternative Methoden

Neben dem oben beschriebenen Ansatz gibt es auch andere Methoden, um die Anzahl der aktivierten Checkboxen zu zählen. Eine Möglichkeit ist die Verwendung einer Excel-Formel, wenn die Kontrollkästchen mit Zellen verbunden sind.

  1. Setze jede Checkbox so, dass sie den Status in einer Zelle speichert (z.B. TRUE oder FALSE).
  2. Verwende die Funktion ZÄHLENWENN, um die aktivierten Checkboxen zu zählen:
=ZÄHLENWENN(A1:A90, WAHR)

Hierbei wird der Bereich A1:A90 verwendet, um die Zellen zu zählen, die den Wert TRUE haben.


Praktische Beispiele

Angenommen, Du hast 90 Checkboxen in einer User Form und möchtest nur die aktivierten Checkboxen zählen. Der VBA-Code, den Du verwendet hast, zählt die Checkboxen erfolgreich. Hier ist ein Beispiel für eine User Form, die diesen Code implementiert:

Private Sub CommandButton1_Click()
    Call Validation
End Sub

In diesem Beispiel wird die Validation-Subroutine aufgerufen, wenn der Benutzer auf einen Button klickt.


Tipps für Profis

  • Benennung der Checkboxen: Achte darauf, dass alle Checkboxen ein einheitliches Namensschema haben. Dies erleichtert die Identifikation und das Zählen.
  • Debugging: Nutze Debug.Print innerhalb der Schleife, um den Wert von icount zu überprüfen, falls der Zähler nicht wie erwartet funktioniert:
Debug.Print "Aktivierte Checkboxen: " & icount
  • Fehlermeldungen anpassen: Du kannst die MsgBox-Nachrichten anpassen, um den Benutzern klare Anweisungen zu geben.

FAQ: Häufige Fragen

1. Wie kann ich die Checkboxen in Excel zählen, wenn sie nicht in einer User Form sind? Du kannst die Zellen, die mit den Checkboxen verbunden sind, verwenden und die Funktion ZÄHLENWENN nutzen, um die aktiven Checkboxen zu zählen.

2. Funktioniert dieser Code in allen Excel-Versionen? Der VBA-Code sollte in den meisten modernen Excel-Versionen funktionieren, solange die User Forms und Checkboxen korrekt eingerichtet 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