Clever-Excel-Forum

Normale Version: Grafik mit Makro über Bedingung aktivieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

Ich arbeite zur Zeit an einem Excelblatt zur Dokumentation privater Projekte.
Dabei habe ich ein Formular vorbereitet wo ich alle Eingaben machen kann und diese dann in mein Berichtsblatt übertragen werden.
Nun will ich im Rahmen der Arbeitsschritte eine Art "Sicherheit" einbauen, dass wenn ich doch mal etwas vergesse einzutragen, ich nicht zum Berichtfenster komme bevor nicht alle wichtigen Felder ausgefüllt sind.
Konkret dafür habe ich eine Test-Arbeitsmappe vorbereitet.
In "Formular" habe ich zwei Grafiken eingebunden, die über ein Ereignisevent "ausgetauscht" (besser gesagt jeweils das eine Bild ein oder ausgeblendet wird), abhängig vom Zellenwert in Zelle "J1" (Die kann später auch wo anders sein). Das "grüne Weiter" leitet mich durch ein Makro dann auf die nächste Seite.
Nun will ich die Steuerzelle "J1" davon abhängig machen, das der passende Steuerwert erst dann eingetragen wird, wenn in allen SICHTBAREN rotmarkierten Felden im Formular etwas eingetragen wurde.
Die Themen kann ich dementsprechend über ein Steuerelement ein- und ausblenden.

Ich Bitte um Unterstützung. Blush
Hallöchen,

das könntest Du z.B. ohne Makro über eine Datengültigkeit regeln.
Markiere alle "roten" Zellen.
Trage oben links im Adressfeld einen Namen ein, z.B. Eingaben
Werte die Inhalte der markierten Zellen an geeigneter Stelle in Deiner Datei mit ANZAHL2 aus.
Setze eine Gültigkeit ein, Benutzerdefiniert mit Auswertung der Zelle.

Hier mal ein Beispiel mit den ersten 4 Zellen:

Arbeitsblatt mit dem Namen 'Formular'
 J
11
2WAHR

NameBezug
Eingaben=Formular!$B$11;Formular!$H$12;Formular!$I$12;Formular!$J$12

ZelleFormel
J2=ANZAHL2(Eingaben)=4

ZelleGültigkeitstypOperatorWert1Wert2
J1Benutzerdefiniert =J2 
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg
So ich hab endlich eine funktionierende Lösung gefunden.

Danke schon mal für deine Antwort schauan. das hatte mich ein stückchen weiter gebracht.
Für die Lösung musste ich die Anzahl der sichtbaren Zellen mit denen der gefüllten Zellen vergleichen.
Nach langer Suche habe ich auch im Netz eine Funktion gefunden, die mir ausgibt, ob eine ZELLE ausgeblendet ist oder nicht. (Quelle: hier)

Ich stelle Sie auch nochmal hier ein.


Code:
Public Function SICHTBAR(Zelle _
As Range) As Boolean
SICHTBAR = Not ( _
Zelle.EntireRow.Hidden Or _
Zelle.EntireColumn.Hidden)
End Function


Einfach die Funktion in einer Zelle Ausführen und die gesuchte Zelle als Kriterium angeben.