ich habe eine Vision, und dieses Makro ist ganz nahe dran!
mit zwei bis vier Problemen, und danach habe ich schon im englischen ask.libreoffice.org wie doof gefragt und im web wie noch döööfer gesucht.
1. Das Makro 'bügelt' Filterkriterien in den anderen Spalten weg, es wäre viieeel schöner wenn die bestehenbleiben würden.
(also das Makro setzt einen neuen! Autofilter auf die gesamte Tabelle statt einen bestehenden zu modifizieren bzw. nur für die aktuelle Spalte zu ergänzen)
2. Das 'Hochsetzen' des Focus in die Kopf-/Titelzeile ist ein krückiger workaround, man verliert den Focus wo man gerade gearbeitet hat. Bei größeren Tabellen ist so etwas ... 'suboptimal'?
3. Es gab noch irgendwo Schwierigkeiten mit speziell formatierten Zellen (führende Nullen und Daten wie JJ-MM-TT), und dem daß LO anfängt bei Spalten mit Datumswerten in der dropdown-Auswahlliste so eine Jahr+Monat+Tag click-o-mania einzubauen,
4. mit leeren Zeilen oder Zellen hat LO Probleme? die müssen anders angefasst werden?
um (3) und (4) kümmere ich mich wenn die anderen Sachen funktionieren.
(Sonst bin ich nämlich - leider - wieder zurück bei M$)
Mir scheint die 'Krücke' (2) wurde gewählt weil in LO der Zugriff auf z.B. den Filterstatus zu gut versteckt ist? Sonst wäre es doch die natürlichste Sache der Welt Makro -> Abfrage 'ist diese Spalte gefiltert' -> dann Filter ausschalten -> sonst filtern.
Und wenn irgendjemand hier genug 'drauf' hat das zu coden ... kriegt der vielleicht auch hin den Punkt 1 zu umgehen. Ich bin erstmal daran gescheitert daß ... der Zugriff auf die Filterung zu gut versteckt ist.
Makro -> filtere die aktuelle Spalte, nach dem Wert der aktuellen Zelle, lasse die Filterkriterien für die anderen Spalten wie sie sind ... das wäre geil!
Mir scheint von der internen Logik her - bzw. der Konstruktion der Objekte, Methoden und Zugriffe - muß man in LO den Filterstatus auslesen, manipulieren und zurückschreiben? Zum Auslesen habe ich nichts brauchbares gefunden

An den Punkt wo für .CreateFilterDescriptor() angegeben wird mit 'True' würde er einen neuen mit default-Werten erzeugen und mit 'false' die Vorgaben aus der Range übernehmen ... und er das nicht tut

zur Frustration für alle LO Fans ... auch für mich:
in Excel sind das zwei komplett banale statements:
ActiveSheet.Range("data1").AutoFilter Field:=ActiveCell.Column
filtert die aktuelle Spalte auf den Wert der aktuellen Zelle,
ActiveSheet.Range("data1").AutoFilter Field:=ActiveCell.Column, Criteria1:=ActiveCell.Text
hebt die Filterung für die aktuelle Spalte auf. Die Filterung der anderen Spalten bleibt unangetastet.
sooo, genau sooo möchte ich das haben ... legt euch die 'Makros' mal auf zwei shortcuts und taucht in irgendwelche Monstertabellen ein ... die werden so handlich und übersichtlich ... was ist mit Hugo passiert? - ein klick ... da war was im Dezember - ein Klick ... mit wem war da noch etwas - ein Klick Hugo 'entfiltern' ... um wieviel Geld ging es - Spalte Betrag filtern ... auf welches Projekt bezog sich das? - Spalte Projekt filtern ... was gehörte da noch alles dazu? - andere Spalten entfiltern ... Rechnung dazu? - Spalte Rechnungsnummer filtern ... Rechnung bezahlt? - andere Spalten entfiltern ... haben wir in den Projekt Profit gemacht - Projektnummer filtern und Finanzbewegungen aufsummieren (Teilsumme oben über der Tabelle einfügen) ... Sollprofit? - Ausgangsrechnungen und Kosten vergleichen ... Istprofit? - Bank- und Kassenbewegungen aufsummieren ... erwirtschaftet Meier Profit? - Teilsummen stehen lassen und statt auf Projekt auf Meier filtern ... warum nicht? - nacheinander die Projekte mit Meier filtern, irgendwo findet man das was schiefgelaufen ist, falsch eingebucht wurde oder wo der Kunde nicht bezahlt hat ... es ist so geil daß M$ oder LO das eigentlich als Standard einbauen sollten ...
und das ganz blöde ... diese Makros - die Excel Einzeiler - laufen sogar in LO, aber leider mit dem Nachteil daß sie die Fehler (1) , (3) und ((4)? voll mitmachen ...
vielen Dank im Voraus für alle Hilfe und Hinweise ...
newbie-01