In der Zelle B20 hab ich vier Kontrollkästchen. Diese möchte ich, solange in der Zelle I12 der Wert 0.000 steht ausblenden. Wie mache ich dies? Ich habe in der Zelle B6 und B7 noch zwei weitere Kontrollkästchen, welche nicht ausgeblendet werden sollen.
Ps.: Ich habe absolut keine Erfahrung mit Makros, wäre also dankbar um eine detailierte Schritt für Schritt Anleitung.
ich habe das Makro mal auf Deine Bedürfnisse angepasst. Es setzt die Kästchen 4 bis 7 sichtbar, wenn Du in I12 0 einträgst, und unsichtbar, wenn Du etwas anderes reinschreibst. Das Makro fügst Du in das Tabellenblattmodul von Fert 1 ein. Dazu wechselst Du mit ALT + F11 in den VBA-Editor. Dort siehst Du auf der linken Seite den Projektexplorer, in dem u.a. Deine Datei steht. Sollte diese nicht "aufgeklappt" sein kannst Du darauf doppeklicken und siehst dann die einzelnen Bestandteile, z.B. Tabelle1 (Fert 1). Auf diese klickst Du wieder und daz zugehörige Modulblatt geht auf. Kontrollieren kannst Du das in der Titelzeile, dort sollte unter anderem Tabelle1 (code) stehen. Dort fügst Du den code dann ein.
Code:
Private Sub Worksheet_Change(ByVal Target As Range) 'Variablendeklarationen 'Boolsch - Trigger fuer Anzeige Dim bVisible As Boolean 'Wenn die Zieladresse nicht I12 ist, dann Makro verlassen If Target.Address <> "$I$12" Then Exit Sub 'Trigger fuer Anzeige auf True setzen, wenn I12 0 ist bVisible = (Target.Value = 0) 'Schleife ueber die Kontrollkaestchen 4 bis 7 For icnt = 4 To 7 'Kontrollkaestchen ein/ausblenden ActiveSheet.Shapes("Kontrollkästchen " & icnt).Visible = bVisible 'Ende Schleife ueber die Kontrollkaestchen 4 bis 7 Next End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
ja, so ist es. Allerdings sollten die Werte doch nicht zurückgesetzt werden ? Das Ausblenden geschieht ja auch unabhängig vom Inhalt - Eventuell sollte man die dann nur ausblenden, wenn sie angehakt sind. Mal sehen, was Nigg dazu schreibt.
Hier mal mein korrigierter Ansatz:
Code:
Private Sub Worksheet_Calculate() 'Schleife ueber die Kontrollkaestchen 4 bis 7 For icnt = 4 To 7 'Kontrollkaestchen ein/ausblenden ActiveSheet.Shapes("Kontrollkästchen " & icnt).Visible = (Range("I12").Value = 0) 'Ende Schleife ueber die Kontrollkaestchen 4 bis 7 Next End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)