Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1668to1672
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
CheckBox Abfrage in Array schreiben
29.01.2019 12:24:54
Mike
Hallo zusammen,
ich bastel grade an einem UserForm und nutze dort neben einem Listenfeld auch diverse Checkboxen.
Ich prüfe z.B. über folgenden Code ob die Checkboxen markiert wurden oder nicht und wenn ja _
gebe ich entsprechend das Caption aus.

Dim i As Byte
For i = 1 To 12
If Controls("CB" & i).Value = True Then
Debug.Print Controls("CB" & i).Caption
End If
Next i

Ich würde gerne mit den ausgelesenen Werten im weiteren Verlauf arbeiten und damit einen Array füllen. Also so das nachher in etwa folgendes nutzbar ist:
.... Array("M21", "M22", "M23")
Ich könnte das ganze auch lösen indem ich die Werte in einen Zellbereich schreibe und daraus den Array bilde aber eventuell lässt sich der Umweg ja umgehen und ich kann das direkt füllen.
Hätte dazu jemand ein Beispiel?
Gruß
Mike

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

Betreff
Datum
Anwender
Anzeige
AW: CheckBox Abfrage in Array schreiben
29.01.2019 12:33:29
Rudi
Hallo,
dim myArr(1 to 12)
Dim i As integer
For i = 1 To 12
If Controls("CB" & i).Value = True Then
myArr(i)=Controls("CB" & i).Caption
End If
Next i

Gruß
Rudi
AW: CheckBox Abfrage in Array schreiben
30.01.2019 14:14:06
Mike
Hallo Rudi,
vielen Dank funktioniert einwandfrei.
Gruß
Mike
AW: CheckBox Abfrage in Array schreiben
30.01.2019 14:14:46
Daniel
Hi
du kannst auch alle Captions erstmal in eine Stringvariable schreiben (mit Trennzeichen) und dann bei Bedarf aus der StringVariable mit Split ein Array machen:
 Dim i As Byte
dim Erg as string
dim arrErg
For i = 1 To 12
If Controls("CB" & i).Value = True Then
Erg = Erg & vbLF &  Controls("CB" & i).Caption
End If
Next i
Erg = Mid(Erg, 2) '--- Trennzeichen am Textanfang abschneiden
Msgbox "Ausgewählt: " & vblf &  Erg
arrErg = Split(Erg, vblf) '--- Text in Array aufteilen
vbLF ist die Systemvariable für den Zeilenumbruch (Zeichen mit Code 10).
du kannst natürlich auch andere Zeichen wie ";" oder "\" verwenden, je nach wunsch.
Vorteil dieser Vorgehensweise ist, dass das Array immer die richtige Größe hat, ohne dass du dich vorher um die Anzahl der gewählten Checkboxen kümmern musst oder aufwendiges Redimmen
Gruß Daniel
Anzeige
AW: CheckBox Abfrage in Array schreiben
30.01.2019 14:21:08
Mike
Hallo Daniel,
hört sich auch interessant an. Werde das sicherlich auch mal testen.
Danke für den Tipp
Gruß
Mike

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige