Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Checkbox Userform zusammenfassen in eine Zelle
Kay
Hallo,
ich habe eine Userform mit vielen Textboxen, Optionsfelder, Comboboxen etc. Nun habe ich auch einen Bereich mit Checkboxen, die zu einer Gruppe zusammengefasst sind. Nun möchte ich gern bei der Übernahme in die Tabelle mit dem Speichern sicherstellen, dass alle Checkbox-Namen die ausgewählt wurden (x von 20) in einer Zelle der Tabelle aufgeführt werden.
z.B.: in Zelle B6 steht dann "CB2; CB3; CB6; CB9; CB11; CB12; CB14" , wobei eben die Namen getrennt werden sollten mit einem Semikolon - um ggf. später wieder in der Tabelle suchen zu können.
Wie lautet der VBA-Code (Ansatz reicht mir schon) um die Namen zu suchen und entsprechend zusammen zu fassen in einer Zelle ?!
Vielen Dank für Eure Unterstützung !
Gruß
Kay

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Checkbox Userform zusammenfassen in eine Zelle
11.07.2009 17:10:25
Tino
Hallo,
meinst Du so?
Private Sub CommandButton1_Click()
Dim objCheck As Control
Dim strText As String

For Each objCheck In Me.Controls
 If TypeName(objCheck) = "CheckBox" Then
  If objCheck Then strText = strText & objCheck.Name & "; "
 End If
Next objCheck

strText = Left(strText, Len(strText) - 2)

Sheets("Tabelle1").Range("A1") = strText
End Sub
Gruß Tino
Anzeige
AW: Checkbox Userform zusammenfassen in eine Zelle
11.07.2009 18:39:13
Kay
Perfekt - vielen Dank für die schnelle Hilfe...so komme ich am WE gleich ein ganzes Stück weiter ;o)
Aber eine Frage habe ich da noch, kann man auch die Anzahl der "True"-Boxen ermitteln ?
D:h. zählen lassen, wie viele "Häkchen" gesetzt sind ?
Gruß
Kay
AW: Checkbox Userform zusammenfassen in eine Zelle
11.07.2009 18:50:08
Tino
Hallo,
baue einfach einen Zähler mit in die Schleife ein.
Private Sub CommandButton1_Click()
Dim objCheck As Control
Dim strText As String
Dim iCount As Integer

For Each objCheck In Me.Controls
 If TypeName(objCheck) = "CheckBox" Then
  If objCheck Then
   strText = strText & objCheck.Name & "; "
   iCount = iCount + 1
  End If
 End If
Next objCheck

strText = Left(strText, Len(strText) - 2)

Sheets("Tabelle1").Range("A1") = strText
Sheets("Tabelle1").Range("B1") = iCount
End Sub
Gruß Tino
Anzeige
Zur Sicherheit
11.07.2009 18:53:54
Tino
Hallo,
besser ist es zur Sicherheit noch eine Abfrage einzubauen, falls mal keine Checkbox auf True steht.
Private Sub CommandButton1_Click()
Dim objCheck As Control
Dim strText As String
Dim iCount As Integer

For Each objCheck In Me.Controls
 If TypeName(objCheck) = "CheckBox" Then
  If objCheck Then
   strText = strText & objCheck.Name & "; "
   iCount = iCount + 1
  End If
 End If
Next objCheck

If strText <> "" Then
 strText = Left(strText, Len(strText) - 2)
End If

Sheets("Tabelle1").Range("A1") = strText
Sheets("Tabelle1").Range("B1") = iCount

End Sub

Gruß Tino
Anzeige
AW: Zur Sicherheit
11.07.2009 19:49:57
Kay
Hi, steh in Deiner Schuld ;o)
vor allem das mit dem Sicherheitsgedanken ist Klasse !
Vielen Lieben Dank !
Gruß
Kay

329 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige