Hallo Jörg, hallo Stefan,

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
> Sent: Saturday, December 22, 2007 4:30 PM
> To: [email protected]
> Subject: Re: [de-users] Calc: Makro starten, wenn Zelle verlassen wird
>
>
> Hallo,
> Ich sehe nur nicht das das nötig wäre, denn in Deiner Erklärung ist im
> Prinzip davon die Rede das das Makro starten soll wenn Du eine
> Jahreszahl einträgst, also sich der Zellwert ändert.
> (was nun abgesehen von der optischen Ähnlichkeit bei Betrachtung des
> Ganzen in der GUI, ein anderes Ereignis ist als 'Zelle verlasasen')
>
> Falls das so ist würde ich das Makro über Daten-Gültigkeit starten.
> (gib dort irgendwas als Eingabe an, was in keinem Fall als Jahreszahl
> vorkommen kann und gib das Makro als Aktion bei Fehlermeldung an)
>

Das klappt. Fast.
Das Makro startet richtig.

Ich hatte zuerst das Makro Wochenende aufgerufen, das aus einer
Hilfstabelle die jeweiligen Wochentage ausliest und entsprechend
einfärbt.

Allerdings wird nicht das richtige, d.h. das jeweils in Zelle B5
eingegebene Jahr genutzt.
Sondern je nachdem, was in der Vorlage steht, dieses Jahr.

Sieht so aus, als ob ich dem Makro noch beibringen müßte, zu warten, bis
die Tabelle Belegungsplan mit Hilfe der Hilfstabelle aktualisiert ist.

Das Makro sieht so aus:
Sub Startmakro
        Wochenende
        Feiertag
End Sub

Und das Makro Wochenende so:
Sub Wochenende

        Dim oTabelle as Object
        Dim oMonat as Object
        Dim oZelleLi as Object, oZelleRe as Object
        Dim nIndex as Integer, nIndexMax as Integer
        Dim nBereich as Integer, oTag as Date


        oTabelle = ThisComponent.Sheets.getByName("Belegungsplan")

        For nBereich = 1 To 12
                oMonat = getMonatBereich(oTabelle, nBereich)
                nIndexMax = oMonat.rows.count - 1

                For nIndex = 1 To nIndexMax
                        oZelleLi = oMonat.getCellByPosition(0,nIndex)
                        oTag = oZelleLi.getValue
                        oZelleRe = oMonat.getCellByPosition(1,nIndex)

                        If Weekday(oTag, 2) > 5 then
                                oZelleLi.CellStyle = "Wochenende li"
                                oZelleRe.CellStyle = "Wochenende"
                        End If
                Next nIndex
        Next nBereich
End Sub

Was mache ich falsch?

Viele Grüße

Vera

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Antwort per Email an