Formel automatisch in leere Zelle schreiben

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Formel automatisch in leere Zelle schreiben

Re: Formel automatisch in leere Zelle schreiben

von balu » Fr, 23.01.2009 21:57

Hallo Achim,

Achimgrö hat geschrieben: ... ich kenne mich etwas in excel aus (code zum tabellenblatt)...
Soll das heißen, dass Du dich etwas in VBA auskennst?
Achimgrö hat geschrieben: ... aber in deinem beispiel ist ja alles völlig anders.
Ist doch vollkommen logisch, da StarBasic nicht VBA ist. Oder anders gesagt; In OOo gibt es nun mal halt kein VBA. Und folgedessen sieht hier ein Code ganz anders aus als in Excel.

Wäre deine Zelle, wo die Formel eingetragen werden soll, nicht variabel, hätte ich dir folgenden Code vorschlagen können.

Code: Alles auswählen

Formel1 = "=wenn(a1="";1;2)"
...
Monatsblatt = Doc.sheets.getByName(Monate(I))
Zelle = Monatsblatt.getCellRangeByName("B16")
Zelle.formula = Formel1
(ist nur ein schnipsel, und ich habe ihn nicht selber erstellt. Danke Charly :wink:)
Da die betreffende Zelle aber variabel ist, erhöht das nun mal halt den Aufwand um die leere Zelle zu suchen.

Ich bin kein Makro-Mensch, und kenne mich deshalb nicht wirklich in dieser Materie aus.



Gruß
balu

Re: Formel automatisch in leere Zelle schreiben

von hawe » Fr, 23.01.2009 21:37

Wie dem auch sei...
In Neues kann man sich reinarbeiten, wird ja sonst langweilig :-)....
Und wann bitte schön soll der Makro aktiv werden?
Das kann er nur, wenn er Kenntnis von einer Änderung am betroffenen Zellenbereich erhält. Und das entsprechende Ereignis wird hier durch com.sun.star.util.XModifyListener vertreten. Also zapfen wir einen Zellenbereich mittels eines Aufpassers, mit einem Listener an.
Die Prozedure
Sub register_Range_Listener
richtet einen Aufpasser für den Bereich H1:H20 für Änderungen am Zelleninhalt ein - den BEreich kannst Du auf Dein Problem anpassen.
Absofort wird bei jeder Änderung in H1:H20 die Prozedur
Sub timeRangeListener_modified( oEvent )
aufgerufen, wo du Deine Formel zurückschreiben kannst.
Etwas Recherche im FOrum und der Einzelschrittdebugger werden wahre Wunder leisten...

Re: Formel automatisch in leere Zelle schreiben

von hawe » Fr, 23.01.2009 09:47

Ein Modify-Listener...
Hab ich am Montag zum Thema Zahlenformat: Zeit vorgeschlagen
viewtopic.php?f=2&t=22127#p94868

Nach oben