Hallo
Ich hätte mal eine - vielleicht blöde - Frage:
In einer meiner Tabellen habe ich zur Zeit 100 Markierfelder (Checkboxen). Wenn ich ein Markierfeld im Entwurfsmodus mit der linken Maustaste anklicke und mir dann mit der rechten Maustaste das Untermenü anzeigen lasse, um dort “Steuerelement-Eigenschaften” auszuwählen, habe ich die Möglichkeit, einen eindeutigen Namen zu vergeben. In dem Untermenü gibt es aber ebenfalls einen Menüpunkt “Name…”. Was ist der Unterschied zwischen beiden “Namen”?
Den letzteren Namen verwendet der Navigator, den anderen Namen der Formularnavigator.
Den Namen, den Du im Formularnavigator angezeigt bekommst, kannst Du nutzen, um die Daten aus einem Steuerfeld auszulesen. Die Felder sollten alle unterschiedliche Namen haben, da sonst das Auslesen Probleme bereitet.
Der Name, der im normalen Navigator steht, ist nur ein Hinweis auf das Zeichnungsobjekt. Da geht es im Prinzip nur darum, das Objekt auf dem Tabellenblatt zu finden.
Ich würde die Namen gleich wählen.
Versuche schon, die gleichen Name zu wählen. Leider doppelte Arbeit, da dies nicht automatisch gemacht wird.
Was kann ich eigentlich machen, wenn sich das Objekt auf dem Tabellenblatt über den Navigator NICHT finden lässt? Aus unerfindlichen Gründen ändert Calc die Y-Position von Markierfeldern auf Werte wie 212,45 cm und ich sehe diese Elemente nicht mehr. Hängt wahrscheinlich damit zusammen, dass ich oft Zeilen ein- und wieder ausblende. Irgendwann sind dann einige Markierfelder verschwunden.
Standardmäßig scheint Calc die Elemente an der Seite zu verankern. Ich würde testen, was es mit der Verankerung an der Zelle auf sich hat. Vielleicht entspricht dies mehr dem, was Du möchtest.
Ich verankere immer an der Zelle.
Wenn ich das mache (Verankerung an der Zelle), dann verschwindet natürlich das Steuerelement, sobald ich die Zelle (über “Zeilen ausbelenden”) nicht mehr sichtbar schalte. Ansonsten kann ich dazu weiter nichts sagen. Dazu nutze ich Calc und vor allem Steuerelemente in Calc zu wenig.
Jetzt habe ich mal eine blöde Frage: Warum tust Du Dir hundert Checkboxen an?
Ich habe das Sheet für einen Bekannten gemacht und er wollte in jeder Zeile mit sich täglich bzw. wöchentlich veränderbaren Daten eine Checkbox, die er in unregelmäßigen Abständen zurücksetzt.
Zunächst dachte ich, dass könnte man anders realisieren. Ein großes, fettes “X” eintragen bzw. löschen, wenn man die Zelle anklickt. Habe allerdings kein Event gefunden, mit dem es möglich zu sein scheint. Ich muss aber auch zugeben, dass ich in dieser Beziehung nicht die größte Ahnung habe.
Ich habe das einmal kurz ausprobiert:
SUB Markieren(oEvent AS OBJECT)
IF oEvent.String = "" THEN
oEvent.CharWeight = 150
oEvent.String = "X"
ELSEIF oEvent.String = "X" THEN
oEvent.CharWeight = 100
oEvent.String = ""
ELSE
END IF
END SUB
Als auslösendes Ereignis habe ich bei der Tabelle1 → Ereignisse → Doppelklick gewählt.
Das hatte ich damals so ähnlich gemacht, aber er wollte keinen Doppelklick, sondern so wie er es mit Checkboxen gewohnt war.
Das Auswahl geändert Event wird anscheinend immer mehrmals aufgerufen, wenn man eine Zelle anklickt. Deswegen hatte ich diesen Weg aufgegeben.
Unterscheide doch einfach zwischen leer und nicht leer. Das wäre dann
NEIN: =ANZAHLLEEREZELLEN(bereich)
JA: =ZEILEN(bereich)-ANZAHLLEEREZELLEN(bereich).
Dann klappt’s auch mit der einfachstmöglichen Eingabe.