Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1072to1076
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
Inhaltsverzeichnis

Kontrollkästchen oder Checkboxen

Kontrollkästchen oder Checkboxen
07.05.2009 13:23:01
Rainer
Hallo,
habe nach einer Lösung gegoogelt, mit welcher ich Kontrollkästchen ein- bzw. ausblenden könnte und bin mal wieder einmal mehr auf dieses Forum gestoßen.
Eigentlich dachte ich mit diesem Beitrag https://www.herber.de/forum/archiv/116to120/t117504.htm und der Formel

Private Sub Worksheet_Change(ByVal Target As Range)
If Me.Cells(5, 10).Value = "5" Then
CheckBox1.Visible = True
Else
CheckBox1.Visible = False
End If
End Sub


meine Lösung zu haben. Aber bei mir geht da auch mit geringfügigen Änderungen nicht's.
Liegt es an der Excel-Version?
Habe bei den Kontrollkästchen keinen Namen und entsprechende Eigenschaften gefunden.
Der Test mit den CheckBoxen blieb ebenfalls erfolglos.
Habe dann bei den CheckBoxen in den Eigenschaften mal manuel Visible geändert. Da passiert bei mir gar nichts.
Mein Problem ist, dass ich Kontrollkästchen in Zellen eingebunden habe, die ich z.B. mittels x in Spalte B ausblende. Die Kontrollkästchen bleiben jedoch alle sichtbar und verwirren letztlich in der Darstellung.
Wäre für jeden Tip dankbar.
Gruß Rainer

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kontrollkästchen oder Checkboxen
07.05.2009 13:27:54
D.Saster
Hallo,
anstatt ="5" =5
besser so:

Private Sub Worksheet_Change(ByVal Target As Range)
CheckBox1.Visible = Cells(5, 10) = 5
End Sub


Gruß
Dierk

AW: Kontrollkästchen oder Checkboxen
07.05.2009 13:51:28
Rainer
Hallo Dierk,
wollte gerade schon wieder "funktioniert nicht" schreiben.
Mein Fehler war, dass ich in den Eigenschaften keine Veränderung sah und nicht auf die Idee kam, mal vom Entwurfsmodus in den Normalmodus umzuschalten.
Nun funktioniert es auch.
Allerdings ist mein Problem nun, dass ich meine Vorlage mit lauter "Kontrollkästchen" (Formular-Steuerelement) innerhalb einer bestimmten Zelle angelegt habe.
Geht das mit den Kontrollkästchen auch?
Gruß Rainer
Anzeige
AW: Kontrollkästchen oder Checkboxen
07.05.2009 14:34:50
D.Saster
Hallo,
dann so:

Private Sub Worksheet_Change(ByVal Target As Range)
Shapes("Kontrollkästchen 1").Visible = Cells(5, 10) = 5
End Sub


Gruß
Dierk

AW: Kontrollkästchen oder Checkboxen
07.05.2009 14:49:58
Rainer
ups,
sorry verklickt.
Gruß Rainer
AW: Kontrollkästchen oder Checkboxen
07.05.2009 13:52:52
Rainer
Hallo Dierk,
wollte gerade schon wieder "funktioniert nicht" schreiben.
Mein Fehler war, dass ich in den Eigenschaften keine Veränderung sah und nicht auf die Idee kam, mal vom Entwurfsmodus in den Normalmodus umzuschalten.
Nun funktioniert es auch. Vielen Dank dafür.
Allerdings ist mein Problem nun, dass ich meine Vorlage mit lauter "Kontrollkästchen" (Formular-Steuerelement) innerhalb einer bestimmten Zelle angelegt habe.
Geht das mit den Kontrollkästchen auch?
Gruß Rainer
Anzeige
AW: Kontrollkästchen oder Checkboxen
07.05.2009 15:25:14
Rainer
Hallo Dierk,
klasse funktioniert auch.
Nun stellt sich die Frage, ob ich im Code jedes Kontrollkästchen (Kk) erfassen muss oder ob es eine Möglichkeit gibt, bestimmte Kk anzusprechen.
Z. B. über die verlinkte Zelle.
Habe einen Code für den Aufbau benutzt. Der Namensaufbau ist über die Zeilen

shpBox.Name = "Kontrollkaestchen_" & lngZeile & "_" & lngLinkedCellSpalte
Set rngLinkedCell = wksA.Cells(lngZeile, lngLinkedCellSpalte)

gestaltet.
Kontrollkästchen ist immer in Spalte F, verlinkte Zelle = Spalte R.
Das x für Ein-/Ausblenden ist immer in Spalte B.
Bevor ich mich da versuche erlaube ich mir lieber nochmal die Frage an den Fachmann.
Beispiel:


Private Sub Worksheet_Change(ByVal Target As Range)
Shapes("Kontrollkaestchen_30_18").Visible = Cells(30, 2)  x
Shapes("Kontrollkaestchen_33_18").Visible = Cells(33, 2)  x
Shapes("Kontrollkaestchen_38_18").Visible = Cells(38, 2)  x
End Sub


Versuche mir mit meinen wenigen VBA-Kenntnissen zu überlegen ob das mit Variablen und einer Codezeile ginge. Aber vermutlich bin ich schneller die Zeilen zu kopieren und eben x-mal den Code anzulegen.
Insbesondere, da eben nicht alle Kk angesprochen werden sollen.
Insofern vielen vielen Dank für Deine Hilfe.
Gruß Rainer

Anzeige
AW: Kontrollkästchen oder Checkboxen
07.05.2009 15:43:41
D.Saster
Hallo,
das Kontrollkäschen kannst du berechnen.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 2 Then
On Error GoTo ErrHDL
Application.EnableEvents = False
Shapes("Kontrollkaestchen_" & Target.Row & "_18").Visible = Target  x
End If
ErrHDL:
Application.EnableEvents = True
End Sub


Gruß
Dierk

AW: Kontrollkästchen oder Checkboxen
07.05.2009 16:16:17
Rainer
Hallo Dierk,
Danke funktioniert absolut perfekt.
Damit hast Du mir enorm geholfen.
Gruß Rainer
AW: Kontrollkästchen oder Checkboxen
08.05.2009 08:45:51
Rainer
Hallo,
habe leider noch ne Kleinigkeit.
Das x in der Spalte B steuere ich durch eine Formel.
Dadurch klappt es nun mit "Worksheet_Change" nicht.
Gibt es da auch eine andere Möglichkeit Excel klar zu machen, dass nun eine Änderung stattgefunden hat.
Gruß Rainer
Anzeige
AW: Kontrollkästchen oder Checkboxen
08.05.2009 09:25:50
D.Saster
Hallo,

Private Sub Worksheet_Calculate()
Dim rng As Long
On Error GoTo ErrHDL
Application.EnableEvents = False
Application.ScreenUpdating = False
For Each rng In Columns(2).SpecialCells(xlCellTypeFormulas)
Shapes("Kontrollkaestchen_" & rng.Row & "_18").Visible = rng  "x"
Next
ErrHDL:
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub


Gruß
Dierk

AW: Kontrollkästchen oder Checkboxen
08.05.2009 09:59:39
Rainer
Hallo Dierk,
wieder ein riesen Dankeschön.
Formel funktioniert. Allerdings bekomme ich einen Kompilierungsfehler:

"Steuervariable für For Each muß vom Typ Variant oder Objekt sein"


Bevor ich mich verrenne (hatte zuvor auch gedacht ich könnte den Code einfach in ein Makro einbinden) schreibe ich lieber nochmal.
Gruß Rainer

Anzeige
Range statt Long
08.05.2009 10:10:12
Erich
Hi Rainer,
statt "Dim rng As Long" sollte da wohl
Dim rng As Range
stehen - mit rng sollen Ranges in der Schleife durchlaufen werden.
rng.Row z. B. wäre dann ein Long.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
AW: Range statt Long
08.05.2009 10:19:18
Rainer
Hallo Zusammen,
funktioniert nun einwandfrei.
Nochmals vielen Dank.
Gruß Rainer

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige