Seite 1 von 1
[Gelöst] filterspalte "A" mit mehreren Kriter
Verfasst: Di, 18.12.2018 03:40
von Deko
Grüße ,
Ich möchte das Makro
Sub_SimpleSheetFilter verwenden, um dieselbe Makrooperation der angefügten Datei auszuführen, dh die Zellen "B1" zu filtern und "C1" in spalte "A" .
Hinweis: Ich muss das
Sub_SimpleSheetFilter-Makro verwenden .
umarmt Freunde .
Re: filterspalte "A" mit mehreren Kriterien
Verfasst: Di, 18.12.2018 16:46
von Stephan
Hinweis: Ich muss das Sub_SimpleSheetFilter-Makro verwenden .
Und welches Problem tritt dabei auf? Das verlinkte Makro funktioniert bei mir wunderbar, außer das Du eine Zeile ergänzen musst (oFilterDesc.ContainsHeader = True) damit die Spaltenbeschriftungen nicht weggefiltert werden:
Code: Alles auswählen
Sub SimpleSheetFilter()
Dim oSheet ' Sheet that will contain the filter.
Dim oFilterDesc ' Filter descriptor.
Dim oFields(0) As New com.sun.star.sheet.TableFilterField
oSheet = ThisComponent.getSheets().getByIndex(0)
oFilterDesc = oSheet.createFilterDescriptor(True)
With oFields(0)
.Field = 0 ' Column A
.IsNumeric = True
.NumericValue = 1
.Operator = com.sun.star.sheet.FilterOperator.EQUAL
End With
oFilterDesc.setFilterFields(oFields())
oFilterDesc.ContainsHeader = True
oSheet.filter(oFilterDesc)
End Sub
Wie hingegen Deine konkrete Filterbedingungen sein sollen (ich mutmaße dort ist das Problem) kann ich anhand von :
"dieselbe Makrooperation der angefügten Datei auszuführen, dh die Zellen "B1" zu filtern und "C1" in spalte "A" ."
nicht erkennen.
Ich nehme an weil Dir die Übersetzung ins Deutsche schwerfällt, aber dann schreibe es bitte nochmals etwas anders, momentan kann ich das nicht deuten.
Gruß
Stephan
Re: filterspalte "A" mit mehreren Kriterien
Verfasst: Di, 18.12.2018 17:22
von Deko
Grüße Stephan,
Zunächst möchte ich mich für die geringen Kenntnisse in der deutschen Sprache entschuldigen .
Details : müssen das Makro
Sub SimpleSheetFilter verwenden, um mehrere Kriterien gleichzeitig in Spalte "A" zu filtern .
Ich habe ein Projekt mit dem Makro im Format gestartet :
Code: Alles auswählen
Dim searchString As String
Dim sheet As Object
sheet = thisComponent.sheets(0)
Dim range As Object
range = sheet.GetCellRangeByName("A1:M1000")
Dim filterDescriptor As Object
filterDescriptor = range.CreateFilterDescriptor(true)
Dim filterFields(0) As New com.sun.star.sheet.TableFilterField2
With filterFields(0)
.field = 0
.operator = com.sun.star.sheet.FilterOperator2.NOT_EQUAL
Ich möchte das Projekt also in derselben logischen Begründung fortsetzen .
aber ich muss 3 Kriterien für Spalte "A" hinzufügen .
freund umarmungen .
Re: filterspalte "A" mit mehreren Kriterien
Verfasst: Mi, 19.12.2018 08:50
von Stephan
Du must Dich nicht für das schlechte Deutsch entschuldigen. Ich verstehe nur inhaltlich nicht, was Du genau willst.
Hier ist ein Beispiel für:
Spalte A ist gleich 1 ODER 2 ODER 3:
Code: Alles auswählen
Sub SimpleSheetFilter()
Dim oSheet ' Sheet that will contain the filter.
Dim oFilterDesc ' Filter descriptor.
Dim oFields(2) As New com.sun.star.sheet.TableFilterField
oSheet = ThisComponent.getSheets().getByIndex(0)
oFilterDesc = oSheet.createFilterDescriptor(True)
With oFields(0)
.Field = 0 ' Column A
.IsNumeric = True
.NumericValue = 1
.Operator = com.sun.star.sheet.FilterOperator.EQUAL
End With
With oFields(1)
.Field = 0 ' Column A
.IsNumeric = True
.NumericValue = 2
.Operator = com.sun.star.sheet.FilterOperator.EQUAL
.Connection = com.sun.star.sheet.FilterConnection.OR
End With
With oFields(2)
.Field = 0 ' Column A
.IsNumeric = True
.NumericValue = 3
.Operator = com.sun.star.sheet.FilterOperator.EQUAL
.Connection = com.sun.star.sheet.FilterConnection.OR
End With
oFilterDesc.setFilterFields(oFields())
oFilterDesc.ContainsHeader = True
oSheet.filter(oFilterDesc)
End Sub
Gruß
Stephan
Re: filterspalte "A" mit mehreren Kriterien
Verfasst: Mi, 19.12.2018 12:25
von Deko
[Gelöst]
Vielen Dank , sr. Stephan .
das war es wirklich, wonach ich gesucht habe .
Herzlichen Glückwunsch zu Ihrem Wissen .
Freund Umarmungen .