Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1852to1856
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Userform Checkboxen in einem Feld

Userform Checkboxen in einem Feld
07.11.2021 16:03:44
Andreas
Hallo alle zusammen,
ich habe ein Userform, das sehr umfangreich ist. Die Datensätze werden dort durch Bedienung in einer Listbox jeweils in die Text und Comboboxen geladen. Dazu hat natrlich jeder Wert sein eigene Spalte auf dem Tabellenblatt.
Ich wollte nachträglich nun noch 20 Checkboxen hinterlegen, möchte die einzelnen True/False Werte aber nicht einzeln in die Zellen abspeichern, da ich sonst immer mehr Spalten zu dem betroffenen Datensatz bekomme.
Frage: Kann man zb die 20 Checkboxen in einer Zelle zusammenfassen? Zb sowas wie True,False,True,True,... und er lädt dies beim click auf die Listbox wieder entsprechend aus ?

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Checkboxen in einem Feld
07.11.2021 16:09:25
Hajo_Zi
Range("A123") =Checkbox1 &", " Chekbox2 usw
GrußformelHomepage
AW: Userform Checkboxen in einem Feld
07.11.2021 16:51:20
Andreas
Das ist eine gute Idee, danke Hajo. Kann man das in einer Art schleife schreiben? Damit ich nicht 20 Boxen da hinten dranschreiben muss ?
AW: Userform Checkboxen in einem Feld
07.11.2021 16:59:17
Hajo_Zi

Option Explicit
Private Sub CMD_Liste1_Click()
'* H. Ziplies                                     *
'* 04.11.2021                                     *
'* erstellt von HajoZiplies@WEB.de                *
'* http://Hajo-Excel.de
Dim ObCb As Object
Range("A123").ClearContents
For Each ObCb In Me.Controls
Select Case TypeName(ObCb)
Case "CheckBox"
Range("A123") = ObCb.Name & ", "
End Select
Next ObCb
Application.ScreenUpdating = True
End Sub
Gruß Hajo
Anzeige
Aber wohl kaum .Name...
07.11.2021 17:04:08
{Boris}
Hi Hajo,
...sondern eher .Value
VG, Boris
oder ohne .Name
07.11.2021 17:07:44
Hajo_Zi
In diesem Fall Default = .Value
07.11.2021 17:18:08
{Boris}
...und somit obsolet. Aber sauberer ist es mit expliziter Eigenschaft - und die gefragte war eben nicht .Name.
VG, Boris
AW: Userform Checkboxen in einem Feld
07.11.2021 17:07:28
Andreas
Vielen Dank Hajo, das speichern klappt prima!
Eine letzte Frage habe ich noch .... Wenn ich meine Listbox aufrufe, lädt er mir ja den Datensatz zurück in die Felder.
Die altbekannte Version mit einer Checkbox habe ich immer so gelöst:
Me.Controls("Checkbox1").Value = .Cells(zeile, 28).Value = "True"
Funktioniert da ja leider nicht mehr, weil es ja mehrere Werte sind, die er auswerten muss.
Wie teile ich den Eintrag aus .cells(zeile,28) wieder auf die einzelnen Checkboxen auf ?
Anzeige
AW: Userform Checkboxen in einem Feld
07.11.2021 17:10:21
Hajo_Zi
benutze Split um in Array aufteilen.
Gruß Hajo
AW: Userform Checkboxen in einem Feld
07.11.2021 17:16:35
Andreas
... Split Array... Hmm Das sprengt mein Wissen diesbezüglich....und das speichern war so einfach :)
AW: Userform Checkboxen in einem Feld
07.11.2021 17:19:00
Hajo_Zi
arVar = Split(Range("A123"), ",")
und dann Schleife über das Array
Gruß Hajo
AW: Userform Checkboxen in einem Feld
07.11.2021 17:10:19
volti
Hallo Andreas,
hier noch eine Idee.
Code:

[Cc]

Sub SetzeTest() Dim i As Integer, sStatus As String sStatus = "I00000000000000000000" For i = 1 To 20 If UserForm1.Controls("Checkbox" & i) = True Then Mid$(sStatus, i + 1, 1) = "1" Next i Range("A1").Value = sStatus End Sub Sub HoleTest() Dim i As Integer, sStatus As String sStatus = Range("A1").Value If Len(sStatus) < 21 Then Exit Sub For i = 1 To 20 UserForm1.Controls("Checkbox" & i) = IIf(Mid$(sStatus, i + 1, 1) = "1", True, False) Next i End Sub

_________________________
viele Grüße aus Freigericht 😊
Karl-Heinz

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige