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

Forumthread: CheckBoxes in UserForm auswerten

CheckBoxes in UserForm auswerten
06.07.2016 12:31:40
memeqri
Ich würde gerne forlgendes tun:
Ich habe eine Userform mit 32 CheckBoxes und ein Labelfeld darunter. Diese Boxen repräsentieren einzelne Bits, gecheckt = 0, ungecheckt = 1.
Jetzt soll in einem darunter liegenden Labelfeld der aktuelle Zustand ausgegeben warden, also zum Beispiel: 1001 1111 0000 etc.
Jemand eine gute Idee wie das umzusetzen ist?

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: CheckBoxes in UserForm auswerten
06.07.2016 12:39:44
Daniel
Hi
deine Checkboxen müssen von Checkbox1 bis Checkbox32 in der richtigen Reihenfolge benannt sein.
Dann so:
dim i as Long
Label1.Caption = ""
for i = 1 to 32
Label1.Caption = Label1.Caption & CLng(Not(Me.Controls("Checkbox" & i).Value))
Next

nach jedem 4. Bit ein Leerzeichen haben willst:
dim i as Long
Label1.Caption = ""
for i = 1 to 32
Label1.Caption = Label1.Caption & CLng(Not(Me.Controls("Checkbox" & i).Value))
if i Mod 4 = 0 then Label1.Caption = Label1.Caption & " "
Next
Gruß Daniel

Anzeige
AW: CheckBoxes in UserForm auswerten
06.07.2016 15:02:24
memeqri
Danke schonmal. Wie schaffe ich es, dass das ganze "live" aktualisiert wird?

AW: CheckBoxes in UserForm auswerten
06.07.2016 15:05:55
memeqri
Ungecheckte Boxen werden als "-1" angezeigt. WIe kann ich das ändern?

AW: CheckBoxes in UserForm auswerten
06.07.2016 15:35:47
Daniel
sorry, vergessen.
Excel wertet WAHR als 1, VBA jedoch als -1.
hast du in der Schule nicht gelernt, wie man einen negativen Wert in den Betragsmäßig gleichen positiven Wert umwandelt?
Einfach mit -1 mulitplizieren!
damit das Live aktualisiert wird, musst du den Code im Click-Event von jeder Checkbox ausführen lassen.
kannst ja den Code in ein normales Makro im Userformmodul schreiben, damit du dann in den Click-Eventmakros diesen Code nur noch mit einer Programmzeile aufrufen musst.
Einfacher wäre die Programmierung, wenn du anstelle der 32 Checkboxen eine Multiselect-Listbox mit 32 einträgen verwendest.
Das ließe sich dann einfacher programmieren, weil du nur ein Steuerelement hast bespw mit diesem Code im MouseUp-Event der Listbox:
dim i as Long
label1.Caption = ""
for i = 0 to Listbox1.Listcount - 1
if Listbox1.Selected(i) then
label1.Caption = label1.Caption & "0"
else
label1.Caption = label1.Caption & "1"
end if
Next

Nachteilig ist, dass die Anordung der Boxen fest vorgegeben ist (alle untereinander)
Gruß Daniel
Anzeige
;

Forumthreads zu verwandten Themen

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