Ich habe das Problem, das ich einen zusammenhängenden Bereich nach 4 Kritierien sortieren muß. Allerdings ignoriert calc mein 4. Kriterium.
Folgende Minimaltabelle:
Code: Alles auswählen
R N V A F G
1 Anton 280 134 3 414
2 Bärbel 289 142 2 431
3 Cäsar 280 134 1 414
4 Dora 269 145 0 414
5 Emil 280 134 3 414
Das Ergebnis muß also so aussehen:
Code: Alles auswählen
R N V A F G
2 Bärbel 289 142 2 431
4 Dora 269 145 0 414
3 Cäsar 280 134 1 414
1 Anton 280 134 3 414
5 Emil 280 134 3 414
Code: Alles auswählen
Sub sortErgebnis
Dim SortFeld(4) As new com.sun.star.table.TableSortField
Dim SortProps(2) As new com.sun.star.beans.PropertyValue
oDatei = ThisComponent
oSheet = oDatei.Sheets.getByName("testtab")
oBereich = oSheet.getCellRangeByName("Bereich")
SortFeld(0).Field = 6
SortFeld(0).IsAscending = false
SortFeld(0).FieldType = com.sun.star.util.SortFieldType.NUMERIC
SortFeld(1).Field = 4
SortFeld(1).IsAscending = false
SortFeld(1).FieldType = com.sun.star.util.SortFieldType.NUMERIC
SortFeld(2).Field = 5
SortFeld(2).IsAscending = true
SortFeld(2).FieldType = com.sun.star.util.SortFieldType.NUMERIC
' begin ignorierter Teil
SortFeld(3).Field = 1
SortFeld(3).IsAscending = true
SortFeld(3).FieldType = com.sun.star.util.SortFieldType.NUMERIC[/color]
' end ignorierter Teil
SortProps(0).Name = "SortFields"
SortProps(0).Value = SortFeld()
SortProps(1).Name = "SortColumns"
SortProps(1).Value = False
SortProps(2).Name = "ContainsHeader"
SortProps(2).Value = true
oBereich.Sort(SortProps())
End Sub
Wie bekomme ich es hin, daß das Makro nach allen 4 Kriterien sortiert bzw. wo liegt der Fehler in meinem Code?
Da ich erst seit ein paar Tagen mich mit Makros in OOo beschäftige und deutschsprachige Informationen dazu doch relativ rar sind, hätte ich noch eine
Zusatzfrage:
Wie kann ich die Spaltenüberschrift SortFeld(?).Field angeben?
Try&Error mit SortFeld(?).FieldByName, SortFeld(?).FieldByTitle etc. scheiterten. ;(
Gruß vom Berge