Stefan Weigel schrieb:
Hallo Peter,
Peter Eberlein schrieb:
Mir fällt nur noch ein Makro ein, Interesse?
Ja.
> (Grundkenntnisse erforderlich)
Vorhanden.
Nachfolgende Beispiele zum Sortieren und Filtern,
Die aSortFields oder die aFilterFields kannst Du vom Index her beliebig
erweitern, um mehr als 2 Sortierfelder/Filterkriterien zu erhalten.
Peter
Sub Sortieren()
'// die Sortierfelder
Dim aSortFields(1) as New com.sun.star.table.TableSortField
aSortFields(0).Field = 0
aSortFields(0).IsAscending = true
aSortFields(0).IsCaseSensitive = false
aSortFields(1).Field = 1
aSortFields(1).IsAscending = true
aSortFields(1).IsCaseSensitive = false
'// Der sortDescriptor
Dim aSortDesc(1) as New com.sun.star.beans.PropertyValue
aSortDesc(0).Name = "SortFields"
aSortDesc(0).Value = aSortFields()
aSortDesc(1).Name = "ContainsHeader"
aSortDesc(1).Value = true
oRange = ThisComponent.Sheets(0)' kann natürlich auch ein Zellbereich 'sein
oRange.sort(aSortDesc())
End Sub
Sub Filtern()
Dim aFilterFields(1) as New com.sun.star.sheet.TableFilterField
aFilterFields(0).Field = 0'Spalte
aFilterFields(0).IsNumeric = false
aFilterFields(0).StringValue = ""
aFilterFields(0).Operator = com.sun.star.sheet.FilterOperator.EMPTY
'/EQUAL'Operator
aFilterFields(1).Field = 1'Spalte
aFilterFields(1).IsNumeric = true 'is Numeric
aFilterFields(1).NumericValue = 10
aFilterFields(1).Operator = com.sun.star.sheet.FilterOperator.GREATER
'/EQUAL /LESS
aFilterFields(1).Connection = com.sun.star.sheet.FilterConnection.AND '/OR
'bezieht sich auf das Verhältnis zum vorherigen Filter!
oRange = ThisComponent.Sheets(0) 'oder auf einen Zellbereich filtern
xFilterDesc=oRange.createFilterDescriptor(true)
xFilterDesc.setFilterFields(aFilterFields())
'xfilterDesc.ContainsHeader=false 'optional
'xfilterDesc.CopyOutputData=false 'optional
'xfilterDesc.OutputPosition=outputaddr 'optional für Ausgabe in anderen
'Bereich/Tabelle
oRange.filter(xFilterDesc)
End Sub
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]