Autofliter in einem anderem Tabellenblatt synchronisieren.

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Autofliter in einem anderem Tabellenblatt synchronisieren.

Beitrag von balu »

Hallo liebe Gemeinde,

ist es möglich via Makro gesetzte Autofilter im Blatt1 auch im Blatt2 zu aktivieren?

Das heißt, beide Blätter sind in einem bestimmten Bereich identisch und haben an den selben Stellen mehrere Autofilter. Und wenn ich jetzt im Blatt1 einen oder mehrere Autofilter aktiviere, dann sollen synchron dazu auch die gleichen Autofilter im Blatt2 aktiviert werden. Umgekehrt, also Blatt2 filtern und Blatt1 synchornisieren, soll nicht gehen.

Ich glaub wohl kaum das dies geht, aber ich denk mir mal: Fragen kostet nichts :).

Bedanke mich dennoch schon mal für eure Bemühungen.



Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Axel Richter
****
Beiträge: 159
Registriert: So, 17.10.2010 16:54

Re: Autofliter in einem anderem Tabellenblatt synchronisieren.

Beitrag von Axel Richter »

Hallo balu,
balu hat geschrieben:Ich glaub wohl kaum das dies geht
Warum sollte es etwas geben, was nicht geht?
balu hat geschrieben:ist es möglich via Makro gesetzte Autofilter im Blatt1 auch im Blatt2 zu aktivieren?
Ja, siehe Beispiel.

Ansatz:
Es muss DataBaseRanges Bereich1 und Bereich2 geben. Aber dass muss es ja bei mehreren Filterbereichen in einem Calc-Dokument sowieso.
Es wird beim Öffnen des Dokuments auf Blatt1 in einer der Überschrifts-Zellen des Bereichs1 ein ModifyListener gesetzt. Dieser reagiert dann auf Veränderungen der Filterkriterien.
Bei Änderung werden bestimmte FilterFields von Bereich1 auf Bereich2 übertragen. Im Beispiel ist das das FilterField in Spalte A "Name".

viele Grüße

Axel
Dateianhänge
FilterUebernehmen.ods
(10.45 KiB) 53-mal heruntergeladen
Axel Richter
****
Beiträge: 159
Registriert: So, 17.10.2010 16:54

Re: Autofliter in einem anderem Tabellenblatt synchronisieren.

Beitrag von Axel Richter »

Hallo nochmal,

hier eine verbesserte Variante.
Es können mehrere FilterFields von Bereich1 nach Bereich2 übernommen werden.
Die FilterFields können in Bereich2 an anderer Position stehen, als in Bereich1.

Im Beispiel werden die Filter auf "Name" und "Nummer" aus Tabelle1 nach Tabelle2 übernommen.
Basic-Code ist entsprechend kommentiert.

viele Grüße

Axel
Dateianhänge
FilterUebernehmen.ods
(11.34 KiB) 53-mal heruntergeladen
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Autofliter in einem anderem Tabellenblatt synchronisieren.

Beitrag von balu »

Hallo Axel,

wegen absoluter unwissenheit dachte ich das mein Wunsch nicht geht. Um so erfreuter bin ich natürlich das Du mich eines besseren belehrt hast :).

Deine erste Beispieldatei war wohl nicht schlecht, aber da hatte ich noch nicht so richtig das mit den FilterFields verstanden. -{Manchmal steh ich da doch ein wenig zu sehr auf der langen Leitung}- Doch jetzt, durch dein zweites Beispiel, hat es so gesehen bei mir "Klick" gemacht :D.

Wie ich eben festgestellt habe, müssen in Tabelle2 die Autofilter gar nicht gewählt, eingestellt werden (->Daten ->Filter ->Autofilter). Es reichen die in Tabelle1. Wichtig ist wohl aber jedoch das dort ein Datenbereich erstellt ist (->Daten ->Bereich festlegen). Auch aus unwissenheit dachte ich, dass in Tabelle2 Autofilter zwingend notwändig seien, was sich aber als Falsch herausstellte.
Und das kommt mir doch sehr gelegen, da dadurch in meinem Fall in Tabelle2 keine versehentlichen Änderungen vorgenommen werden können.

Ich danke dir vielmals für deine Hilfe, Du hast mir sehr gut weiter geholfen :D.


Gruß
balu
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
Antworten