Re: [de-users] Calc: leere Zellen suchen und ersetzen

2007-12-10 Diskussionsfäden Jörn Schwarz

...das Problem wurde auf der Liste
bereits am 2.6.2006 abschließend gelöst.
Im folgenden gebe ich den Text wieder,
den ich mir damals abgespeichert habe
(ich weiß aber leider nicht mehr,
von wem er stammt):

...
Auf der deutschen Users-Mailingliste von OpenOffice.org haben wir die 
Frage von Vera Unverzagt besprochen, wie man in Calc die leeren Zellen 
eines Zellbereiches mit einem bestimmten Eintrag versehen kann.


Hier als Beispiel ein Basic-Makro, das diese Aufgabe übernimmt.

REM * Hier beginnt der Makrocode *

sub LeerzellenErsetzen()

Dim oSel as Object
Dim iErsteZeile as Integer
Dim iErsteSpalte as Integer
Dim iLetzteZeile as Integer
Dim iLetzteSpalte as Integer
Dim iZeile as Integer
Dim iSpalte as Integer
Dim sEinfuegewert as string

oSel = thisComponent.getCurrentselection()
iErsteSpalte = oSel.rangeAddress.startColumn
iErsteZeile = oSel.rangeAddress.startRow
iLetzteSpalte = oSel.rangeAddress.EndColumn
iLetzteZeile = oSel.rangeAddress.EndRow

sEinfuegewert = Inputbox(Einzufügender Text:)
if sEinfuegewert =  then exit sub

for iZeile = 0 to iLetzteZeile - iErsteZeile
for iSpalte = 0 to iLetzteSpalte - iErsteSpalte
if oSel.getCellByPosition(iSpalte,iZeile).string =  then
oSel.getCellByPosition(iSpalte,iZeile).string = sEinfuegeWert
endif
next iSpalte
next iZeile

end Sub

REM * Ende des Makrocodes *


Wie funktioniert das Makroprogramm?

Zunächst ermitteln wir mit thisComponent.getCurrentselection() den 
momentan markierten Zellbereich. StartColumn, StartRow, EndColumn, 
EndRow verraten die erste und letzte Zeile bzw. Spalte des Bereichs. Die 
Zellen des Bereichs werden in zwei verschachtelten For-Next-Schleifen 
durchlaufen. Der Inhalt der Zelle wird mit 
oSel.getCellByPosition(iSpalte,iZeile).string angesprochen. Ist dieser 
leer, so setzen wir ihn auf den Einfügewert, den wir vom Bediener mit 
der Inputbox-Funktion erfragt haben.


Das Beispiel funktioniert nicht mit mehrfachen, nicht zusammenhängend 
markierten Bereichen. Außerdem können nur Textwerte, also keine Zahlen 
oder Formeln eingegeben werden. Dazu müsste das Makro etwas erweitert 
werden.



Und hier die Klickanleitung, wie man das Makro in seiner 
OpenOffice.org-Umgebung einbauen kann:


- Extras | Makros | Makros verwalten | OpenOffice.org Basic...
- Meine Makros | Neu
- Es öffnet sich der Makroeditor.
- Der Cursor blinkt vor Sub Macro... End Sub
- Ersetze diese Angabe durch den hier blau dargestellten Makrocode
- Makroeditor schließen


Um das Makro zu starten, wählt man Extras | Makros | Makros ausführen... 
und blättert unter Meine Makros auf, bis der Makroname 
LeerzellenErsetzen erscheint. Diesen markieren und auf Ausführen 
klicken.


Zur Vereinfachung kann man sich zum Starten des Makros über Extras | 
Anpassen... auch ein Symbol in die Symbolleiste legen.


Jörn

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



Re: [de-users] Calc: leere Zellen suchen und ersetzen

2007-12-09 Diskussionsfäden Oliver Rath
Boris Kirkorowicz schrieb:
 Hallo,
 
 Am 08.12.2007 17:52 schrieb Oliver Rath:
 Welcher (reguläre) Ausdruck matcht auf eine leere Zelle? Nach nichts
 suchen geht ja auch nicht, da dann der Dialog ausgraut...
 
 mal ein Schuss ins Blaue, ohne es ausprobiert zu haben: geht es
 vielleicht mit  ?

Mit ausprobieren: es geht nicht ;-)

Gruß

Oliver

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



Re: [de-users] Calc: leere Zellen suchen und ersetzen

2007-12-09 Diskussionsfäden Oliver Rath
Stefan Weigel schrieb:
 Hallo Oliver,
 
 Oliver Rath schrieb:
 
 wie kann ich leere Zellen im Suchen und Ersetzen-Dialog finden?
 
 Hilft es Dir, wenn Du die leeren Zellen alle markiert bemommst? Du
 könntest dann etwas Eintippen und die Eingabe mit ALT+ENTER abschließen,
 dann steht der Eintrag in allen vormals leeren Zellen.
 
 Makro zum Markieren der leeren Zellen:
 http://stefan-weigel.de/?ID=80


Danke für den Tipp. Das Problem ist nur, das ich beim Abschluss mit
Alt-Enter den Fehler Einfügen bei Mehrfachselektion nicht möglich
bekomme. Scheint nur bei rechteckigen Bereichen zu funktionieren.

Gibt es da Abhilfe?

TfH

Oliver

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



Re: [de-users] Calc: leere Zellen suchen und ersetzen

2007-12-09 Diskussionsfäden Stefan Weigel

Hallo Oliver,

Oliver Rath schrieb:


Danke für den Tipp. Das Problem ist nur, das ich beim Abschluss mit
Alt-Enter den Fehler Einfügen bei Mehrfachselektion nicht möglich
bekomme. Scheint nur bei rechteckigen Bereichen zu funktionieren.


Ach Mist! Man stolpert von einer Schwelle zur nächsten, wie dumm.

Es wäre freilich möglich, das Makro, das die leeren Zellen 
selektiert, dahingehend zu modifizieren, dass es in einem Dialog 
nach einer Eingabe frägt, die dann in alle leeren Zellen eingetragen 
wird.


Wenn du sowas brauchst und wenn es sich wirklich lohnt, könnte ich 
versuchen, das für Dich zu machen. Ich würde allerdings erst in ein 
paar Tagen die Zeit dazu finden.


Ansonsten: Nein, ich verwerfe den gerade aufgekommenen Gedanken, man 
könne die Datei ja im XLS-Format speichern, die erforderliche Aktion 
dann mit einer gewissen proprietären Software durchführen und dann 
wieder mit OOo weiterarbeiten. ;-)


Gruß

Stefan



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



Re: [de-users] Calc: leere Zellen suchen und ersetzen

2007-12-09 Diskussionsfäden Werner Tietz

Hallo Oliver

Oliver Rath schrieb:
...

Danke für den Tipp. Das Problem ist nur, das ich beim Abschluss mit
Alt-Enter den Fehler Einfügen bei Mehrfachselektion nicht möglich
bekomme. Scheint nur bei rechteckigen Bereichen zu funktionieren.

Gibt es da Abhilfe?


Schau dir mal folgendes an
http://homepages.paradise.net.nz/hillview/OOo/IannzGotoSpecial.sxc
Das Dokument enthält ein Makro zum suchen und Ersetzen von Zelltypen
u.a. kannst du damit auch leere Zellen finden, und auch Ersetzungen 
einfügen.

(der Makrocode der auf Stefans Seite zitiert wird ist daraus extrahiert)

Gruß Werner

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



[de-users] Calc: leere Zellen suchen und ersetzen

2007-12-08 Diskussionsfäden Oliver Rath
Hallo Liste,

wie kann ich leere Zellen im Suchen und Ersetzen-Dialog finden? In
regulären Ausdrücken mit ^,$,^$,\n funktioniert alles nicht.

Welcher (reguläre) Ausdruck matcht auf eine leere Zelle? Nach nichts
suchen geht ja auch nicht, da dann der Dialog ausgraut...

TfH,

Oliver

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



Re: [de-users] Calc: leere Zellen suchen und ersetzen

2007-12-08 Diskussionsfäden Boris Kirkorowicz
Hallo,

Am 08.12.2007 17:52 schrieb Oliver Rath:
 Welcher (reguläre) Ausdruck matcht auf eine leere Zelle? Nach nichts
 suchen geht ja auch nicht, da dann der Dialog ausgraut...

mal ein Schuss ins Blaue, ohne es ausprobiert zu haben: geht es
vielleicht mit  ?


GrussGreetings
   Boris Kirkorowicz

-- 
Falls Ihre eMail versehentlich im Spamfilter haengengeblieben zu sein
scheint, bitte das Formular unter http://www.kirk.de/mail.shtml nutzen.
If your eMail seems to be caught by the SPAM filter by mistake, please
use the form at http://www.kirk.de/mail.shtml to drop me a note.

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



Re: [de-users] Calc: leere Zellen suchen und ersetzen

2007-12-08 Diskussionsfäden Stefan Weigel

Hallo Oliver,

Oliver Rath schrieb:


wie kann ich leere Zellen im Suchen und Ersetzen-Dialog finden?


Hilft es Dir, wenn Du die leeren Zellen alle markiert bemommst? Du 
könntest dann etwas Eintippen und die Eingabe mit ALT+ENTER 
abschließen, dann steht der Eintrag in allen vormals leeren Zellen.


Makro zum Markieren der leeren Zellen:
http://stefan-weigel.de/?ID=80

Gruß

Stefan

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