[Gelöst] CALC: Autofilter ändern/ansteuern?
Moderator: Moderatoren
-
- Beiträge: 4
- Registriert: Do, 27.12.2012 15:47
[Gelöst] CALC: Autofilter ändern/ansteuern?
Hallo,
ich habe einige Tabellen, die einen Autofilter aktiv haben. Zur leichteren Auswertung dieser Tabellen (einige huntert Zeilen) habe ich mir bereits ein Makro gebaut, das mir nicht benötigte Spalten bei Bedarf ein-/ausblendet. Nun möchte ich aber das Makro so erweitern, dass ich auch noch den Autofilter ansteuern kann. Ich möchte z.B. in Spalte "M" nach der Zahl "1" filtern, so dass alle anderen Werte ausgeblendet werden. Manuell ist das ja kein Problem, nur wie kann ich das per Makro machen? Bedingung: der Autofilter muss aktiv bleiben, weil dieser während der Auswertung benötigt wird und ein manuelles Aktivieren oder Deaktivieren des Autofilters zu viel Aufwand bedeuten würde.
Im angehängten Screenshot habe ich markiert, was ich gerne per Makro im Autofilter aktivieren lassen will.
Natürlich benötige ich dann auch noch die Möglichkeit, per Makro später wieder "alles" anzuzeigen.
Kann mir bitte jemand Infos geben, ob und wie das geht?
Habe hier im Forum und auch auf den englischsprachigen Foren und Wikis zu OpenOffice oder LibreOffice leider nichts hierüber gefunden. Google-Suche die letzten zwei Tage hat auch nichts gebracht. Nur Makros, die den Autofilter für einen Bereich aktivieren. Oder Makros, die einen Standardfilter aktivieren. Aber keine Infos darüber, wie man per Makro einen vorhandenen Autofilter ansteuert.
Gruß
Franz
Thema verschoben—lorbass, Mod
ich habe einige Tabellen, die einen Autofilter aktiv haben. Zur leichteren Auswertung dieser Tabellen (einige huntert Zeilen) habe ich mir bereits ein Makro gebaut, das mir nicht benötigte Spalten bei Bedarf ein-/ausblendet. Nun möchte ich aber das Makro so erweitern, dass ich auch noch den Autofilter ansteuern kann. Ich möchte z.B. in Spalte "M" nach der Zahl "1" filtern, so dass alle anderen Werte ausgeblendet werden. Manuell ist das ja kein Problem, nur wie kann ich das per Makro machen? Bedingung: der Autofilter muss aktiv bleiben, weil dieser während der Auswertung benötigt wird und ein manuelles Aktivieren oder Deaktivieren des Autofilters zu viel Aufwand bedeuten würde.
Im angehängten Screenshot habe ich markiert, was ich gerne per Makro im Autofilter aktivieren lassen will.
Natürlich benötige ich dann auch noch die Möglichkeit, per Makro später wieder "alles" anzuzeigen.
Kann mir bitte jemand Infos geben, ob und wie das geht?
Habe hier im Forum und auch auf den englischsprachigen Foren und Wikis zu OpenOffice oder LibreOffice leider nichts hierüber gefunden. Google-Suche die letzten zwei Tage hat auch nichts gebracht. Nur Makros, die den Autofilter für einen Bereich aktivieren. Oder Makros, die einen Standardfilter aktivieren. Aber keine Infos darüber, wie man per Makro einen vorhandenen Autofilter ansteuert.
Gruß
Franz
Thema verschoben—lorbass, Mod
- Dateianhänge
-
- Screenshot des Autofilters
- OO.PNG (44.3 KiB) 2401 mal betrachtet
Zuletzt geändert von f.ohrenwurm am Do, 27.12.2012 21:28, insgesamt 2-mal geändert.
Re: CALC: Autofilter ändern/ansteuern?
Hallo Franz,
nach längerer Suche sowie try and error, bin ich zu folgendem Code gekommen, um z.B. die ersten zwei Spalten, A nach "A" und B nach "1" zu filtern:
Viel Erfolg damit
Gruß R
nach längerer Suche sowie try and error, bin ich zu folgendem Code gekommen, um z.B. die ersten zwei Spalten, A nach "A" und B nach "1" zu filtern:
Code: Alles auswählen
Sub S_set_autofilter
dim aFilterFields(1) as new com.sun.star.sheet.TableFilterField
with aFilterFields(0)
' .connection = "AND"
.Field = 0
.stringvalue = "A"
.Operator = 2
end with
with aFilterFields(1)
' .connection = "AND"
.Field = 1
.stringvalue = "1"
.Operator = 2
end with
odatabaserange = thiscomponent.databaseranges(0)
oFilterDescriptor = odatabaserange.FilterDescriptor
oFilterDescriptor.setFilterFields(aFilterFields)
odatabaserange.refresh
End Sub
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
-
- Beiträge: 4
- Registriert: Do, 27.12.2012 15:47
Re: CALC: Autofilter ändern/ansteuern?
Hallo R,
danke für die Antwort.
Leider kommt bei mir nur eine Fehlermeldung, siehe angehängter Screenshot.
Habe jetzt über eine Stunde recherchiert und herumprobiert, kann aber nicht herausfinden, warum "odatabaserange = thiscomponent.databaseranges(0)" bemängelt wird.
Woran kann das liegen?
Ich werde jetzt weitersuchen, aber vielleicht kannst Du mir noch einen Tipp geben, dann geht es schneller.
Gruß
Franz
danke für die Antwort.
Leider kommt bei mir nur eine Fehlermeldung, siehe angehängter Screenshot.
Habe jetzt über eine Stunde recherchiert und herumprobiert, kann aber nicht herausfinden, warum "odatabaserange = thiscomponent.databaseranges(0)" bemängelt wird.
Woran kann das liegen?
Ich werde jetzt weitersuchen, aber vielleicht kannst Du mir noch einen Tipp geben, dann geht es schneller.
Gruß
Franz
- Dateianhänge
-
- Fehlermeldung
- OO_Fehler.PNG (22 KiB) 2365 mal betrachtet
-
- Beiträge: 4
- Registriert: Do, 27.12.2012 15:47
Re: CALC: Autofilter ändern/ansteuern?
Hallo R,
habe die Ursache gefunden:
Bei mir war in der Calc-Datei noch kein Datenbereich festgelegt. Der Autofilter legt scheinbar nicht automatisch einen Datenbereich fest.
Nachdem ich über Daten -> Bereich festlegen dem Autofilterbereich einen Namen gab, funktionierte Dein Makro einwandfrei.
Kannst Du mir noch einen Tipp geben, wie ich per Makro den Filter in diesen Spalten wieder zurücksetze?
oder
bringt nicht das gewünschte Ergebnis.
Gruß
Franz
habe die Ursache gefunden:
Bei mir war in der Calc-Datei noch kein Datenbereich festgelegt. Der Autofilter legt scheinbar nicht automatisch einen Datenbereich fest.
Nachdem ich über Daten -> Bereich festlegen dem Autofilterbereich einen Namen gab, funktionierte Dein Makro einwandfrei.
Kannst Du mir noch einen Tipp geben, wie ich per Makro den Filter in diesen Spalten wieder zurücksetze?
Code: Alles auswählen
.stringvalue = "*"
Code: Alles auswählen
.stringvalue = ""
Gruß
Franz
Re: CALC: Autofilter ändern/ansteuern?
wenn du noch deinen Bereich austauschst ...
Gruß R
Code: Alles auswählen
Sub S_remove_autofilter
odatabaserange = thiscomponent.databaseranges(0)
oFilterDescriptor = odatabaserange.FilterDescriptor
oFilterDescriptor.setFilterFields(array())
odatabaserange.referredcells.Rows.Isvisible = True
odatabaserange.refresh
end sub
... bei mir schon ...f.ohrenwurm hat geschrieben:Der Autofilter legt scheinbar nicht automatisch einen Datenbereich fest.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
-
- Beiträge: 4
- Registriert: Do, 27.12.2012 15:47
Re: CALC: Autofilter ändern/ansteuern?
Perfekt!!!
Super, ich freue mich sehr über Deine Hilfe. Vielen Dank.
Super, ich freue mich sehr über Deine Hilfe. Vielen Dank.
Re: [Gelöst] CALC: Autofilter ändern/ansteuern?
Bitte, gerne ...
Gruß R
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 11: AOO, LO Linux Mint: AOO, LO
Re: [Gelöst] CALC: Autofilter ändern/ansteuern?
Danke!
das klappt auch bei mir prima, nachdem ich den Bereich festgelegt hatte
