Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
188to192
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
188to192
188to192
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Checkbox in Multipage/Userform

Checkbox in Multipage/Userform
06.12.2002 12:04:04
Andreas
Liebe Leute,

habe in einer Userform auf einer Multipage mehrere Checkboxen welche wenn sie aktiv sind Werte aus einem excel-sheet übernehmen. Gibt es eine Möglichkeit eine Schleife einzubinden, die wenn egal welche Checkbox aktiviert/inaktiviert wurde den gewünschten Wert aus dem Sheet übernimmt, oder muss ich diese Funktion für jede Checkbox seperat festlegen.

Ich habe im Moment eine Möglichkeit gefunden, die bei jeder Mausbewegung über der Multipage jede Checkbox prüft und falls aktiv den Wert übernimmt, falls inaktiv den Wert auf "0" setzt... Das Problem dabei, das Ganze findet verzögert statt... gibt es eine andere Möglichkeit? Bitte um eure Hilfe!

LG

Andreas
P.S. Anbei der Code den ich im Moment verwende

Private Sub MultiPage1_MouseMove(ByVal Index As Long, ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim ICounterQ As Integer
For ICounterQ = 1 To 24
If Controls("Q" & ICounterQ).Value = True Then Controls("PunkteQ" & ICounterQ).Value = Sheets("BB_Kriterien").Cells(ICounterQ + 3, 2) Else Controls("PunkteQ" & ICounterQ).Value = 0
Next ICounterQ
Dim ICounterSI As Integer
For ICounterSI = 1 To 24
If Controls("SI" & ICounterSI).Value = True Then Controls("PunkteSI" & ICounterSI).Value = Sheets("BB_Kriterien").Cells(ICounterSI + 3, 5) Else Controls("PunkteSI" & ICounterSI).Value = 0
Next ICounterSI
Dim ICounterSD As Integer
For ICounterSD = 1 To 24
If Controls("SD" & ICounterSD).Value = True Then Controls("PunkteSD" & ICounterSD).Value = Sheets("BB_Kriterien").Cells(ICounterSD + 3, 8) Else Controls("PunkteSD" & ICounterSD).Value = 0
Next ICounterSD
Dim ICounterS As Integer
For ICounterS = 1 To 40
If Controls("S" & ICounterS).Value = True Then Controls("PunkteS" & ICounterS).Value = Sheets("BB_Kriterien").Cells(ICounterS + 3, 11) Else Controls("PunkteS" & ICounterS).Value = 0
Next ICounterS
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Checkbox in Multipage/Userform
06.12.2002 13:00:49
Michael Scheffler
Hallo,

aus diesem Grund nimmt man für so etwas das Change-Ereignis der Checkbox. Das ist der erste Punkt.

Und als uweites könntest Du Dir eine Klassendatei für alle Checkboxen schreiben, die dann das gemeinsame Change-Event kapselt.

Gruß
Micha

Re: Checkbox in Multipage/Userform
06.12.2002 13:09:55
Andreas
Lieber Micha,

danke für deine schnelle Antwort... bzgl. deines Inputs einer Klassendatei für alle Checkboxen... könntest du mir da ein bisserl weiterhelfen... wie ist das umzusetzen?
Danke und LG

Andreas

Re: Checkbox in Multipage/Userform
06.12.2002 14:20:20
Michael Scheffler
Hallo,

eine Userform mit drei Checkboxen:
Private Sub UserForm_Initialize()
Set cCheck(1).checkBox = Me.Controls("CheckBox1")
Set cCheck(2).checkBox = Me.Controls("CheckBox2")
Set cCheck(3).checkBox = Me.Controls("CheckBox3")
End Sub

eine Klassendatei mit dem Namen clsCheck:
Public WithEvents checkBox As MSForms.checkBox

Private Sub checkBox_Change()
MsgBox checkBox.Name
End Sub

ein Modul:
Public cCheck(3) As New clsCheck

Gruß

Micha

Anzeige
Re: Checkbox in Multipage/Userform
07.12.2002 12:26:48
Andreas
Lieber Micha,

nochmals vielen Dank.. ich weiss, ich stell mich mit dieser Sache ganz schön blöd an aber meine VBA Kenntnisse sind nur sehr klein... habe die Userform erstellt, die 3 Checkboxen eingebaut, den Code

Private Sub UserForm_Initialize()
Set cCheck(1).checkBox = Me.Controls("CheckBox1")
Set cCheck(2).checkBox = Me.Controls("CheckBox2")
Set cCheck(3).checkBox = Me.Controls("CheckBox3")
End Sub

in die Userform eingebaut. War noch ganz einfach... :-)

Da hat es aber bereits gehappert:

habe versucht über diese Thematik was herauszufinden, aber ich komm einfach nicht dahinter wie bzw. wo ich das machen soll :-(

"eine Klassendatei mit dem Namen clsCheck:
Public WithEvents checkBox As MSForms.checkBox"

das war wieder ganz einfach, einfach im Code der Userform hineingepastet

"Private Sub checkBox_Change()
MsgBox checkBox.Name
End Sub"

aber da war es wieder, wohin soll denn das Modul, auch in den Code der Userform oder ein eigenes Modul?

"ein Modul:
Public cCheck(3) As New clsCheck"

Hilfe!! Bitte gib mir noch ein paar Tips,

Danke und LG Andi:-)

Anzeige
Lösung hat geklappt!
08.12.2002 13:33:58
Andreas
Lieber Micha,

habe die Lösung gefunden! Vielen Dank nochmals für deine Unterstützung!

LG Andi:-)

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige