25.04.2019, 09:23
Hallo liebe CEF-Community,
ich bin dabei ein Tool zur Kalkulation unserer Geräteschränke in ein Formular zu gestallten. Dazu hatte ich mir folgendes überlegt:
Ich bereite die Kalkulation für den maximalen Ausbau vor, blende die Gerätschaften aus und lasse sie dann durch Buttons wieder einblenden.
So weit so gut, Ein und Ausblenden im Bezug auf Zellenwerte bekomme ich mit VBA grad noch hin, mit Buttons bin ich bisher aber noch überfordert. Wo es hängt ist die vorallem die Überprüfung des Ganzen.
Ich habe drei verschiedene Gerätetypen (aktuell nur 2 dargestellt), ich wollte ich maximal 6 Buttons darstellen zum Hinzufügen (einblenden) und zum entfernen (ausblenden) Dabei sollten natürlich immer nur die letzten Geräte in der Reihe ein bzw. ausgeblendet werden. Im weiteren spreche ich nur vom ersten Gerät PC2003.(das Schema lässt sich dann ja später erweitern)
Ergo muss ich mir eine Funktion schaffen, die Überprüft ob ein Gerät bereits vorhanden ist.
-> Hierzu hätte ich die die "active" Felder mit Werten von 0 für aus und 1 für ein in jeder der Matrizen (C30;C49;C68;C87;C106;C125)
Wenn dieses Feld auf 1 steht ist der Bereich bereits bearbeitet worden, muss also bereits eingeblendet sein.
Ich hab die Bereiche bereits in Gliederungen eingeteilt. Für die PC2003s gelten hier 16er Blöcke.
Block1: 30-46; Block2: 49-65; Block3: 68-84; Block4: 87-103 Block5: 106-122 Block6: 125-141
Beim 1. Click auf den "Add PC2003" Button müsste also überprüft werden, ob in C30 der Wert 0 ist und wenn Ja der Bereich 30-46 entireRow eingeblendet werden. Sollte der Wert von C30 auf 1 stehen, muss überprüft werden wie der Wert in C49 ist, ist dieser 0 wird Block2 eingeblendet ist der Wert 1 ... und so weiter.
Sind die maximalen 6 Gerätschaften bereits eingeblendet, sollte der Button deaktiviert werden.
Der Removebutton müsste in der gleichen Weise funktionieren beginnend mit Block6.
Könntet ihr mir da weiterhelfen ?
Wäre super!
Ich war so frei das Sheet hier anzuhängen (losgelöst von den Bezügen in der Orginaldatei sieht es wahrscheinlich etwas wüst aus.)
ich bin dabei ein Tool zur Kalkulation unserer Geräteschränke in ein Formular zu gestallten. Dazu hatte ich mir folgendes überlegt:
Ich bereite die Kalkulation für den maximalen Ausbau vor, blende die Gerätschaften aus und lasse sie dann durch Buttons wieder einblenden.
So weit so gut, Ein und Ausblenden im Bezug auf Zellenwerte bekomme ich mit VBA grad noch hin, mit Buttons bin ich bisher aber noch überfordert. Wo es hängt ist die vorallem die Überprüfung des Ganzen.
Ich habe drei verschiedene Gerätetypen (aktuell nur 2 dargestellt), ich wollte ich maximal 6 Buttons darstellen zum Hinzufügen (einblenden) und zum entfernen (ausblenden) Dabei sollten natürlich immer nur die letzten Geräte in der Reihe ein bzw. ausgeblendet werden. Im weiteren spreche ich nur vom ersten Gerät PC2003.(das Schema lässt sich dann ja später erweitern)
Ergo muss ich mir eine Funktion schaffen, die Überprüft ob ein Gerät bereits vorhanden ist.
-> Hierzu hätte ich die die "active" Felder mit Werten von 0 für aus und 1 für ein in jeder der Matrizen (C30;C49;C68;C87;C106;C125)
Wenn dieses Feld auf 1 steht ist der Bereich bereits bearbeitet worden, muss also bereits eingeblendet sein.
Ich hab die Bereiche bereits in Gliederungen eingeteilt. Für die PC2003s gelten hier 16er Blöcke.
Block1: 30-46; Block2: 49-65; Block3: 68-84; Block4: 87-103 Block5: 106-122 Block6: 125-141
Beim 1. Click auf den "Add PC2003" Button müsste also überprüft werden, ob in C30 der Wert 0 ist und wenn Ja der Bereich 30-46 entireRow eingeblendet werden. Sollte der Wert von C30 auf 1 stehen, muss überprüft werden wie der Wert in C49 ist, ist dieser 0 wird Block2 eingeblendet ist der Wert 1 ... und so weiter.
Sind die maximalen 6 Gerätschaften bereits eingeblendet, sollte der Button deaktiviert werden.
Der Removebutton müsste in der gleichen Weise funktionieren beginnend mit Block6.
Könntet ihr mir da weiterhelfen ?

Ich war so frei das Sheet hier anzuhängen (losgelöst von den Bezügen in der Orginaldatei sieht es wahrscheinlich etwas wüst aus.)