Sortieren NUR mit Funktionen

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: Sortieren NUR mit Funktionen

von pewi » Sa, 25.03.2006 23:21

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

von Karolus » Fr, 24.03.2006 16:23

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

Sortieren NUR mit Funktionen

von pewi » Fr, 24.03.2006 14:51

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:

Nach oben