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

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