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

Checkbox abfragen

Checkbox abfragen
21.11.2005 08:28:00
ingo
hallo!!
Ich erzeuge eine gewisse Anzahl von Checkboxen zu denen jeweils eine Checkbox parrallel liegt. Bei der einen ist jeweils das Häkchen gesetzt. Ich möchte nun, das sobald ich das Häkchen entferne die parrallel liegende Checkbos ausgeblendet wird.
Irgenwie funktioniert das bei mir nicht. Kann mir jemand helfen?

Private Sub UserForm_Initialize()
ReDim chbSichtbar(37)
ReDim chbUnsichtbar(37)
Dim lngA As Long
Dim wks As Worksheet
Dim sngHoehe As Single
sngHoehe = 25
Set wks = Worksheets("Triggersignal")
For lngA = 0 To 37 Step 1
If wks.Cells(5 + lngA, 3).Value <> "" Then
Set chbSichtbar(lngA) = Me.Controls.Add("Forms.Checkbox.1", "chbSichtbar" & CStr(lngA), True)
'erzeugen der sichbaren Button
chbSichtbar(lngA).Left = 35 'Wird einer von Ihnen angeklickt soll "sec1" sichtbar werden
chbSichtbar(lngA).Top = 25 + abst * 20
chbSichtbar(lngA).Height = 25
chbSichtbar(lngA).Width = 300
chbSichtbar(lngA).Caption = wks.Cells(5 + lngA, 2)
chbSichtbar(lngA).Font.Size = 10
chbSichtbar(lngA).Value = True
Set chbUnsichtbar(lngA) = Me.Controls.Add("Forms.Checkbox.1", "chbUnsichtbar" & CStr(lngA), True)
'Hier werden die unsichtbaren Button erzeugt
chbUnsichtbar(lngA).Left = 8
chbUnsichtbar(lngA).Top = 25 + abst * 20
chbUnsichtbar(lngA).Height = 25
chbUnsichtbar(lngA).Width = 13
chbUnsichtbar(lngA).Visible = True
abst = abst + 1
Else
End If
Next
End Sub

Sub Checkbox_click() 'Hier soll die Abfragung stattfinden
Dim lngA As Long
For lngA = 1 To UBound(chbSichtbar)
If chbSichtbar(lngA).Value = False Then 'Wenn die Checkbox kein Häkchen besitz
chbUnsichtbar(lngA).Visible = True 'ausblenden der anderen parallelen Checkbox
End If
Next
End Sub

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Checkbox abfragen
22.11.2005 15:35:09
Markus
Hallo Ingo,
am Beispiel der Checkbox Sichtbar Nr. 0

Sub chbSichtbar0_click()
If chbSichtbar(0).Value = False Then
chbUnsichtbar(0).Visible = False
else
chbUnsichtbar(0).Visible = true
End If
End Sub

Der Else-Weg wurde zugefügt, damit beim anhaken der Box "Sichtbar 0" auf wieder die Unsichtbare erscheint.
Den Code nun für jede Checbox anlegen.
Markus
AW: Checkbox abfragen
22.11.2005 15:43:59
ingo
Ja Danke für deinen Tipp!!!
Aber.. ich erzeuge jedesmal eine andere Anzahl von Checkboxen. In der Regel sind das
12-18. Ich möchte nicht für jede eine

Sub Funktion erstellen, die gar nicht gebraucht wird.
Gibt es keine Möglichkeit die irgendwie so aussieht:

Sub chbSichtbar(lnbA)_click
End Sub

Anzeige
AW: Checkbox abfragen
22.11.2005 15:44:08
ingo
Ja Danke für deinen Tipp!!!
Aber.. ich erzeuge jedesmal eine andere Anzahl von Checkboxen. In der Regel sind das
12-18. Ich möchte nicht für jede eine

Sub Funktion erstellen, die gar nicht gebraucht wird.
Gibt es keine Möglichkeit die irgendwie so aussieht:

Sub chbSichtbar(lnbA)_click
End Sub

AW: Checkbox abfragen
22.11.2005 15:46:43
ingo
Ja Danke für deinen Tipp!!!
Aber.. ich erzeuge jedesmal eine andere Anzahl von Checkboxen. In der Regel sind das
12-18. Ich möchte nicht für jede eine

Sub Funktion erstellen, die gar nicht gebraucht wird.
Gibt es keine Möglichkeit die irgendwie so aussieht:

Sub chbSichtbar(lnbA)_click
End Sub

Anzeige
AW: Checkbox abfragen
ingo
Aber auch so wie du das geschrieben hast funktioniert das nicht. Er erkennt irgendwie den Checkbox-Namen nicht. Helft mir ich verzweifel!!!!!!
AW: Checkbox abfragen
ingo
Aber auch so wie du das geschrieben hast funktioniert das nicht. Er erkennt irgendwie den Checkbox-Namen nicht. Helft mir ich verzweifel!!!!!!
AW: Checkbox abfragen
23.11.2005 14:58:04
Markus
Hallo Ingo,
Fehler von mir, die Klammern bei der chb-Ansprache ab If müssen weg.
Aus chbUnsichtbar(0) muss werden chbUnsichtbar0
denn so heissen die Checkboxen.
Zur Frage, ob man es auch automatisieren kann:
So wie du meinst, in einer Schleife eine Sub setzen, geht nicht. Und eine Schleife bräuchtest du.
Aber: Ja es geht, aber nicht so einfach, da wirklich jede Checkbox programmiert werden muss. Für jede Checkbox muss festgelegt werden, was beim Click-Ereignis ausgeführt werden soll.
Und dieses kann man programmieren. Und zwar nach dem Prinzip, wie sich auch Makrovieren selbst verteilen, kann man beliebige Module durch VB erstellen lassen. Ich kann dir aber hier leider nur Hinweise geben, und nicht mit dem Code selbst helfen, da ich es noch nie selbst gemacht habe.
Du musst hier die VBE-Umgebung per VBA "bearbeiten" (VBE = der Bildschirm, wo du bei Excel VBA erfasst).
Dazu ist zuerst die entsprechene Bibliothek einzubinden (bei Extras\Verweis...) dann kannst du in der Objektbibliothek sehen, was dort beinhaltet ist. Es können Module kopiert, gelöscht, erstellt werden, genau, wie du es bei Excel schon kennst mit den Checkboxen. Das Prinzip ist gleich. Die Module können dann mit Subs und Functions gefüllt werden.
Stöber mal hier bei Herbers Recherche und auch allgemein Google, da wirst du bestimmt fündig mit Beispielen.
Markus
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige