Sortieren NUR mit Funktionen

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

Benutzeravatar
pewi
***
Beiträge: 93
Registriert: Mi, 31.12.2003 17:03
Wohnort: Rödingen

Sortieren NUR mit Funktionen

Beitrag von pewi »

Ich will z.B. eine Liste bestehend aus 2 Spalten anlegen.
Dabei ist Spalte A eine fortlaufende Nummer (1 ...) und Spalte B der Name.

Beispiel-Eingabe:
A B
1 Müller
2 Schmitz
3 Meier

Nun will ich auf Basis dieser Eingabe nur mit Funktionen folgendes erreichen:
A B
1 Meier
2 Müller
3 Schmitz

Warum will ich keine Makros einsetzen oder das ganze jeweils zu Fuß anstoßen?
Nun, weil sehr häufig ein oder zwei Datensätze hinzukommen und ich dann sofort die aktualisierte Liste sehen möchte.

Leider kann man bei Texten ja keine Funktionen wie Rang, Max etc. verwenden.
Gibt es (außer Makros und zu Fuß) gar keine Möglichkeit, dies zu bewerkstelligen?
Oder habe ich die entsprechende Funktion noch nicht gefunden :oops:
pewi

----------------------------------------------------------------------------------------------------------
LO 5.0.4.2 x64
Karolus
********
Beiträge: 7532
Registriert: Mo, 02.01.2006 19:48

Beitrag von Karolus »

Hallo Pewi

Selbst wenn es für diese Aufgabe eine Funktion gäbe, ist dein Ansatz nicht machbar, weil die Funktion in Spalte B eingetragen werden müsste, und dann bei Eingabe eines Datensatzes überschrieben wird.

Die einzig sinnvolle und (nahezu) sofortige Lösung wäre ein Makro das einer Taste-(nkombination) zugeordnet wird. Diese Tastenkombi musst du auch nicht mit den Füssen eintreten 8)
Damit die forlaufende Nummerierung in Spalte A nicht durcheinander gerät sollte diese mit einer Formel (zb.=ZEILE() )erzeugt werden.

Gruß
Karo

ps. Ich hab hier zum Testen ein Makro aufgezeichnet, das nach Spalte B aufsteigend sortiert.



sub sortieren 'Sortiert Spalte B aufsteigend
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "By"
args1(0).Value = 1
args1(1).Name = "Sel"
args1(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args1())


rem ----------------------------------------------------------------------
dim args2(6) as new com.sun.star.beans.PropertyValue
args2(0).Name = "ByRows"
args2(0).Value = true
args2(1).Name = "HasHeader"
args2(1).Value = false
args2(2).Name = "CaseSensitive"
args2(2).Value = false
args2(3).Name = "IncludeAttribs"
args2(3).Value = true
args2(4).Name = "UserDefIndex"
args2(4).Value = 0
args2(5).Name = "Col1" 'Spalte B
args2(5).Value = 2
args2(6).Name = "Ascending1"
args2(6).Value = true

dispatcher.executeDispatch(document, ".uno:DataSort", "", 0, args2())


end sub
Benutzeravatar
pewi
***
Beiträge: 93
Registriert: Mi, 31.12.2003 17:03
Wohnort: Rödingen

Beitrag von pewi »

Vielen Dank für den Tipp!
Muss ich gelegentlich mal nachvollziehen.
pewi

----------------------------------------------------------------------------------------------------------
LO 5.0.4.2 x64
Antworten