Rechenblatt-Zellränder per Formel ändern

Habe mir einen Kalender (ewiges Thema) gebastelt und möchte die Monatstage umrahmen. In Monaten, die weniger als 31 Tage haben, soll aber die Umrahmung der nicht nötigen Zellen nicht mehr sichtbar sein. Ist so etwas möglich - und falls ja: wie mache ich es?

Re: Rechenblatt-Zellränder per Formel ändern

#8648 On 4 Mai, 2009 22:22 Thomas Kaegi said,

Hallo Thomas

Per Formel lassen sich meines Wissens die Ränder nicht ändern. Aber ein AppleSript könnte die Zellen absuchen und bei Zellen mit Inhalt die Ränder aktivieren und bei den anderen löschen.

Der entsprechende AppleScrip-Befehl lautet z.B. für den oberen Rand einer ausgewählten Zelle:
set properties of top border of selection to {border state:border on, pen width:1.5}
Der Befehl muss natürlich in eine Schlaufe eingebaut werden, die alle Zellen nacheinander auswählt.

Wenn der Kalender sonst fertig ist müsste die Ausführung des Scripts noch ausgelöst werden, z.B. mit einem Knopf.

Mit freundlichem Gruss
Thomas

Re: Rechenblatt-Zellränder per Formel ändern

#8654 On 5 Mai, 2009 21:15 Thomas Schnell said,

Lieber Namensvetter,
ich stehe aus, welchen Gründen auch immer, mit AppleScript ein wenig auf Kriegsfuss.
Ich dachte mir eine andere Lösung ohne Script - habe sie aber nicht lauffähig geschafft.

Kannst Du mir sagen, ob folgende Idee realisierbar wäre:
Zeile 1 = Tag 1 des Monats in A1.
In A2 wäre der zweite Tag (Formel "A1+1") usw bis zum 28. des Monats
(Habe ich aus der Beispieldatei übernommen)

Dann wäre Tag 29, 30 und 31 Zelle A29, A30 und A31.

In A29 bis A31 wollte ich nicht die Formel "A1+28"... eingeben, sondern lediglich "A39" in A29 eingeben (in A40 natürlich dann A30 und in A41 die Formel A41).
In A39 könnte ich die Formel "A1+29" eingeben und die Zelle gleich mit Linien formatieren.
Den unteren Rand schiebe ich natürlich bis zu Zeile 32 hoch.
Dann könnte ich doch so die Zellen nur anzeigen lassen wenn die Zellen A39, A40 oder A41 berechnet werden????
Oder ist das völlig abwegig? Jedenfalls bekomme ich meine Idee nicht zum Laufen.

herzliche Grüße Thomas

Re: Rechenblatt-Zellränder per Formel ändern

#8655 On 6 Mai, 2009 09:51 Thomas Kaegi said,

Hallo Namensvetter

Ich verstehe leider nicht genau, wie du dir das mit deiner Methode vorstellst. Du wolltest doch die Zellränder anzeigen lassen oder nicht, je nachdem, ob die Zelle leer ist oder einen Kalendertag enthält. Die Zellränder werden aber nie durch eine Berechnung des Zellinhalts beeinflusst.

Trotzdem: Ich habe dir einen Vorschlag ohne AppleScript:
1. Gib dem Rahmen mit dem Kalender die Füllvorlage "Transparent" und lösche alle Zellränder(!!!), mindestens im Bereich deines Kalenders, in welchem du die Tage schliesslich eingerahmt haben willst.
2. Wähle alle Zellen des Kalenderrechenblatts aus und weise auch diesen die Füllvorlage "Transparent" zu
3. Erstelle im gleichen Layout eine Kopie des Containers mit dem Kalenderrechenblatt
4. Lösche im Inventar die dabei entstandene Kopie des Kalenderrechenblatts
5. Zieh aus dem Inventar das Kalenderrechenblatt in den nun leeren Rahmen
6. Klick im ursprünglichen Kalender in Zelle A1 und befiehl "Lage anhängen" im Rechenblattmenü
7. Jetzt ist in diesem Rahmen der Kalender verschwunden und du siehst nur noch ein leeres Rechenblatt. Macht nichts, denn der Kalender ist ja noch im zweiten Container vorhanden.
8. Mit immer noch ausgewählter Zelle A1 (in Lage 2 des Rechenblatts - die Lage ist in der Werkzeugleiste angezeigt) befiehlst du "Rechenblatt/Inhaltsart/Zeichnung"
9. Öffne diese Zeichnungskomponente durch Doppelklick im Inventar und zieh in der linken oberen Ecke ein Rechteck auf. Mit Hilfe der Objektkoordinatenpalette positionierst und dimensionierst du dieses Rechteck so, dass es in der Rechenblattzelle gerade noch vollständig sichtbar ist. Du kannst die Position mit 0/0 angeben und eine Linienbreite nach deinem Gutdünken einstellen. Auch diesem Rechteck gibst du die Füllvorlage "Transparent"
10. In Zelle [2]A2 (also Zelle A2 von Lage 2 des Rechenblatts) gibst du als Formel die Referenz A$1 ein, was bewirkt, dass das Rechteck auch in Zelle A2 erscheint.
11. Mit noch ausgewählter Zelle A2 (Griffe sichtbar - sonst musst du eine Zelle daneben auswählen und mit den Cursortasten zur Zelle A2 fahren) ziehst du am Mittelgriff bis Zeile 28 nach unten, so dass die ersten 28 Zellen den Rahmen zeigen.
12. In Zelle A29 gibst du als Formel ein: Wenn([1]A29;A$1)
womit auch diese Zelle den Rahmen enthält, sobald im Kalender (also Lage 1) in Zelle A29 ein Tag angezeigt wird. Diese Zelle kopierst du in analoger Weise wie bei Schritt 11 bis zur Zeile 31 nach unten.
13. Mit "Zeichnung/Ausrichten" legst du die beiden Container mit den Rechenblättern genau aufeinander. Wenn du genau so vorgegangen bist wird Lage 2 vorne liegen und du siehst durch Lage 2 hindurch Lage 1 mit dem Kalender.

Mit dieser Methode erhältst du zwar mit Formeln steuerbare Rahmen, du wirst jedoch Mühe haben, das so hinzukriegen, dass diese Rahmen schön gleichmässig aussehen. Lass dich aber nicht dadurch irritieren, dass das auf dem Bildschirm sehr unregelmässig aussieht. Mit grösserem Darstellungsmassstab oder im Druck ist es OK. Zum Justieren deshalb vorzugsweise mit stark vergrösserter Darstellung arbeiten, z.B. 400%.

Die Methode mit den zwei Lagen des gleichen Rechenblatts garantiert, dass alle Zellen in beiden aufeinander gelegten Rechenblättern immer identisch dimensioniert sind.

Mit freundlichem Gruss
Thomas
ragtime-consult.ch