CALC+Basic: Erkennen/Markieren eines zusammenhängenden Zellbereichs?

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

StePfl
**
Beiträge: 47
Registriert: Mo, 04.07.2016 17:16

CALC+Basic: Erkennen/Markieren eines zusammenhängenden Zellbereichs?

Beitrag von StePfl »

Hallo Zusammen,
ich suche nach einer Möglichkeit, mit einem Basic-Makro in einem Sheet mit mehreren Inhalten (jew. zusammenhängende Datenblöcke) den Zellbereich, auf dem der Cursor steht als Ganzes zu markieren um dann diesen Bereich als Range-Objekt weiter zu verarbeiten.

Ich denke an eine ähnliche Funktionalität, wie sie Calc in seinen Standardfunktionen "Sortieren" oder "AutoFilter" schon selbst anwendet.

Problem dabei ist, dass "strg+down" + "strg+right" nicht funktioniert, da in diesen Bereichen an vielen Stellen leere Zellen sind und ich vorab nicht bestimmen kann, wo genau diese Leerbereiche sind. ABER - die Zellbereiche sind IMMER zusammenhängend.

ergänzende Frage: gibt es für diese Aufgabe eine Tastenkombination? (... ich habe keine gefunden)

herzlichen Dank und ein schönes Wochenende,
stepfl
StePfl
**
Beiträge: 47
Registriert: Mo, 04.07.2016 17:16

[gelöst] CALC+Basic: Erkennen/Markieren eines zusammenhängenden Zellbereichs?

Beitrag von StePfl »

.... habe es jetzt zufällig beim Stöbern selbst gefunden:

die Methode "collapseToCurrentRegion" erweitert den/einen Cursor auf den gesamten Zellbereich ....
Quellen:
https://wiki.openoffice.org/wiki/Docume ... ell_Cursor
https://forum.openoffice.org/en/forum/v ... 16#p210425

Vorgehen:
Ich erzeuge einen virtuellen Corsor auf die betroffene Zelle mit:

Code: Alles auswählen

oVirtuellerCursor = oSheet. createCursorByRange(oZelle)
und kann anschließend den zusammenhängenden Zellbereich ermitteln mit:

Code: Alles auswählen

oZusammenhaengendeZellen = oVirtuelleCursor.collapseToCurrentRegion()
Vielleicht braucht das auch mal jemand anderes und sucht auf deutsch ;-)
DANKE, dass es dieses Forum gibt!

Gruß, stepfl

PS: ich habe nun manuell diesen Beitrag als "gelöst" markiert, da ich keinen anderen Weg gefunden habe - ich hoffe, das ist SO ok!
Antworten