Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1824to1828
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 Value aktualisieren
15.04.2021 20:59:13
hans
Hallo zusammen
Ich habe eine UserForm erstellt mit mehreren CheckBoxen die deaktiviert eine Zeile ausblendet und aktiviert die Zeile einblendet. zudem werden dabei noch gewisse Zellen gelöscht oder Formeln eingetragen. Das funktioniert soweit gut. Beim initialisieren der UserForm frage ich den Status ab, ob die entsprechende Zeile ein- oder ausgeblendet ist und lasse dabei die jeweilige CheckBox True oder False setzen. Auch dies funktioniert soweit.
Mein Problem ist nun, jedes mal wenn ich die UserForm aufrufe und eine CheckBox von True auf False oder umgekehrt gesetzt wird, wird auch der ganze Code durchlaufen, der beim Klicken auf die CheckBox ausgeführt werden soll. Bei über 100 CheckBoxen dauert das jedes mal eine Weile bis die UserForm offen ist.
Hat jemand eine Idee wie den CheckBox Value verändern kann ohne das gleich der ganze Code hinter der CheckBox durchlaufen wird?

Private Sub UserForm_Initialize()
'Abmessung für die UserForm
Me.Height = 1100
Me.Width = 270
'CheckBoxen einfüllen
Dim i As Integer
Dim cbNr As Integer
cbNr = 1
For i = 7 To 156
If IsEmpty(Cells(i, 1).Value) = False Then
Controls("CheckBox" & cbNr).Caption = Cells(i, 1) & " " & Cells(i, 2)
If Rows(i).Hidden = True Then
Controls("CheckBox" & cbNr) = False
Else
Controls("CheckBox" & cbNr) = True
End If
cbNr = cbNr + 1
End If
Next i
End Sub

Private Sub CheckBox1_Click()
'Variabeln
Dim xcb, xz1, xz2, xbkp_d, xbkp_h, xzUnderste As Integer
xcb = 1
xz1 = 7 'obere Zelle
xz2 = xz1 'untere Zelle
xbkp_d = xz1 'BKP darüber
xbkp_h = xz2 'Haupt BPK
xzUnderste = 8 'Unterste leere Zelle
'Ein_Ausblenden aufrufen
Call EinAusblenden(xcb, xz1, xz2, xbkp_d, xbkp_h, xzUnderste)
End Sub

Ich danke für eure Hilfe

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

Betreff
Datum
Anwender
Anzeige
AW: CheckBox Value aktualisieren
15.04.2021 21:28:41
Luschi
Hallo Hans,
bei mir sieht das so aus:

Option Explicit
Dim Init_UF As Boolean
Private Sub CheckBox1_Change()
If Init_UF Then Exit Sub
'Dein weiterer Code
End Sub
Private Sub CheckBox2_Change()
If Init_UF Then Exit Sub
'Dein weiterer Code
End Sub
Private Sub UserForm_Initialize()
Init_UF = True
'Dein Code
Init_UF = False
End Sub
Gruß von Luschi
aus klein-Paris
PS: Du siehst, ich nehme das Change()-Ereignis, da es noch vor dem Click()-Ereignis ausgeführt wird.
Bei den vielen Checkboxen packe ich das Change-Ereignis in ein Extra-Klassenmodul, dann gibt es den Change()-Ereignis-Code nur einmal
und mit ein bißchen Mathe + Logik wird die daraus resultierende Tabellenzeile behandelt.
Anzeige
AW: CheckBox Value aktualisieren
16.04.2021 22:41:39
hans
Hallo Luschi
Vielen Dank für den schnellen Tipp, funktioniert bestens.
Das mit dem Extra-Klassenmodul kenn ich nicht, da werde ich mich wohl noch etwas einarbeiten müssen.
AW: CheckBox Value aktualisieren
17.04.2021 06:02:42
Luschi
Hallo Hans,
hier mal ein Beispiel für Klassenprogrammierung mit CheckBoxen im Formular.
https://www.herber.de/bbs/user/145607.xlsm
Gruß von Luschi
aus klein-Paris
AW: CheckBox Value aktualisieren
20.04.2021 07:40:51
hans
Hallo Luschi
Das sieht interessant aus. Muss ich definitiv mal ausprobieren. Vielen Dank

199 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige