Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CheckBox
BildScreenshot zu CheckBox CheckBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema MultiPage
BildScreenshot zu MultiPage MultiPage-Seite mit Beispielarbeitsmappe aufrufen

VBA: CheckBox/Caption

Betrifft: VBA: CheckBox/Caption von: Charly
Geschrieben am: 06.02.2020 23:25:41

Hallo

da mein Thread ins Archiv gewandert ist hier nochmal mein Anliegen.

Kurze Erläuterung was Ich Vorhabe:
Ich habe eine UF, in dieser sind 111 CheckBoxen deren Caption aus einer Tabelle her gefüllt wird.
Dies passiert beim Start der UF automatisch. Nun möchte Ich das eine Prüfung statt findet in Tabelle "Bewohner", im Zellbereich 5-43, 46-77, 79-117 in der Spalte "B". In dieser Spalte soll nach einem Text gesucht werden bevor der Wert der CheckBox zugewiesen wird.

Bsp.
1. Suche in den Zellbereichen nach dem Gesuchten Text "Frei/Leer". (Fund in Zelle "B15")
2. Welche CheckBox ist mit B15 Verknüpft,
übernimm den Wert der Zelle u. ändere die Schriftfarbe der CheckBox.Caption in (ForeColor=RGB(255,0,0)
3. Wenn die Suche Ergebniss los ist, dann übernimm den Wert der Zelle für die Verknüpfte CheckBox

Hier eine Bsp-Mappe:
https://www.herber.de/bbs/user/134939.zip

Danke für jegliche Hilfe, im voraus!

Gruß Charly

Betrifft: AW: VBA: CheckBox/Caption
von: Beverly
Geschrieben am: 07.02.2020 08:50:05

Hi Charly,

ich würde das ganz anders lösen: schreibe in die Tag-Eigenschaft jeder CheckBox die Zelladresse, auf die sie sich bezieht - also z.B. B5, B6, B7 usw. Dann reicht für das Übernehmen der Caption dieser Code
Private Sub UserForm_Initialize()
    'Bezeichnungen automatisch Aktualisieren
    '==
    Dim ctrElement As Control
    For Each ctrElement In Me.Controls
        If TypeOf ctrElement Is MSForms.CheckBox And ctrElement.Tag <> "" Then
            ctrElement.Caption = Worksheets("Bewohner").Range(ctrElement.Tag).Value
            If InStr(ctrElement.Caption, "Frei/Leer") > 0 Then ctrElement.ForeColor = &HFF&
        End If
    Next ctrElement
End Sub

Die Makros die du mit deinem Code im Initialize-Ereignis mit Call aufrufst brauchst du dann logischerweise nicht.


GrußformelBeverly's Excel - Inn

Betrifft: AW: VBA: CheckBox/Caption
von: Charly
Geschrieben am: 07.02.2020 14:26:37

Hallo Beverly,

danke für deine Antwort.
Sobald Ich etwas Zeit habe werd Ich es Testen.

Grüß Charly

Betrifft: AW: VBA: CheckBox/Caption
von: Charly
Geschrieben am: 07.02.2020 16:57:02

Hallo Beverly,

habe dein Bsp, umgesetzt Funktioniert super.

Kleine Frage:
in Private Sub UserForm_Initialize()
habe Ich noch eine kleine Codezeile.
Beim Starten immer die 1 Page(Page0) der MultiPage1 anzeigen.
Diese habe Ich auskommentiert, da die Fehlermeldung Laufzeitfehler 91 beim Beenden der UF auftritt.
Könntest du mir da weiterhelfen?

Gruß Charly

Betrifft: AW: VBA: CheckBox/Caption
von: Beverly
Geschrieben am: 07.02.2020 17:22:09

Hi Charly,

dafür reicht diese 1 Zeile:
    Me.MultiPage1.Value = 0

GrußformelBeverly's Excel - Inn