Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1500to1504
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
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?

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

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige