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

Forumthread: VBA CheckBoxen getrennt auswerten

VBA CheckBoxen getrennt auswerten
21.01.2020 15:07:33
Bernd
Guten Tag Community,
ich habe ein Problem mit VBA in Excel und versuche es einmal zu schildern:
In meinem Dokument befinden sich mehrere Checkboxen, welche in zwei Kategorien aufgeteilt sind.
Mit der Auswertung aller Checkboxen komme ich zurecht und bekomme das richtige Ergebnis.
Mein Problem ist nun, dass die Checkboxen getrennt von einander, eben in den zwei Kategorien ausgewertet werden sollen.
Z.B. 5 Checkboxen in der Kategorie "Baum" und 7 Checkboxen in der Kategorie "Blume"
jetzt soll in einer Tabelle in der entsprechenden Zelle für "Bäume" alle aktivierten Checkboxen von Bäumen ausgegeben werden und die Checkboxen für Blumen in der Zelle für Blumen.
Ich füge mal meinen bisherigen Code ein, welcher alle Checkboxen auswertet und in eine Zelle schreibt.
Option Explicit
Sub Knopf()
Dim c As OLEObject
Dim sAuswahl As String
sAuswahl = ""
For Each c In ActiveSheet.OLEObjects
If TypeName(c.Object) = "CheckBox" Then
If c.Object.Value = True Then
If sAuswahl = "" Then
sAuswahl = c.Object.Caption
Else
sAuswahl = sAuswahl & ", " & c.Object.Caption
End If
End If
End If
Next
Range("A96") = sAuswahl
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: VBA CheckBoxen getrennt auswerten
21.01.2020 15:41:29
Nepumuk
Hallo Bernd,
teste mal:
Public Sub Knopf()
    Dim lngIndex As Long
    Dim strAuswahl As String
    For lngIndex = 1 To 12
        With ActiveSheet.OLEObjects("CheckBox" & CStr(lngIndex))
            Select Case lngIndex
                Case 1 To 4
                    If .Object.Value Then strAuswahl = strAuswahl & ", " & .Object.Caption
                Case 5
                    If .Object.Value Then strAuswahl = strAuswahl & ", " & .Object.Caption
                    Range("A96").Value = Mid$(strAuswahl, 3) 'Bäume
                    strAuswahl = vbNullString
                Case 6 To 11
                    If .Object.Value Then strAuswahl = strAuswahl & ", " & .Object.Caption
                Case 12
                    If .Object.Value Then strAuswahl = strAuswahl & ", " & .Object.Caption
                    Range("A97").Value = Mid$(strAuswahl, 3) 'Blumen
            End Select
        End With
    Next
End Sub

Gruß
Nepumuk
Anzeige
AW: VBA CheckBoxen getrennt auswerten
21.01.2020 15:54:09
Bernd
Hallo Nepumuk,
vielen Dank für die schnelle Antwort und ja super, es funktioniert problemlos!
Versucht hatte ich auch was mit Select Case, war aber gescheitert.
Habe den Code noch auf meine Checkboxen angepasst, läuft super.
Wäre es auch noch möglich im Fall, dass wenn die letzte Checkbox markiert wird, bei mir CheckBox17, dass nicht die Beschriftung sondern der Inhalt der nebenstehenden Zelle mit eingefügt wird?
Bin leider wohl erst Donnerstag wieder am Rechner um selber zu tüfteln oder Lösungen zu probieren.
Vielen Dank dir für die Lösung!
Anzeige
AW: VBA CheckBoxen getrennt auswerten
21.01.2020 16:00:01
Nepumuk
Hallo Bernd,
welche Zelle?
Gruß
Nepumuk
;

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

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