[gelöst] Spaltenkopf verschwindet - defekter Filter löschbar?

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

deBabba
*
Beiträge: 11
Registriert: Fr, 19.03.2021 10:49

[gelöst] Spaltenkopf verschwindet - defekter Filter löschbar?

Beitrag von deBabba »

Hi zusammen,
das oben beschriebene Problem besteht ja offenbar schon ein paar Jahre wie man an diesem geschlossenen Thread sieht:
http://oooforum.de/viewtopic.php?t=65657
Habe ein Sheet mit ner Menge an Daten und einer umfangreichen Grafik, die sich je nach gesetztem Filter entsprechend anpasst. Der Filter hat nun den beschriebenen defekt, daß Spaltenköpfe beim aktivieren des Filters verschwinden und auch sebst bei fixiertem Fenster nur noch das Ergebnis angezeigt wird ohne Möglichkeit wieder ein anderes Kriterium auswählen zu können. Der Filter kann mit Bordmitteln nicht mehr entfernt werden.

Jetzt die Frage:
  • Gibt es eine andere Möglichkeit einen Filter z.B. mittels Makro zu entfernen?
  • Hat jemand ne Idee was man sonst noch machen könnte?
Umkopieren in ein neues Sheet bringt nix, die Daten weden aus verschiedenen Tabellen zusammengesucht, was man im jungfäulichen neuen Sheet zwar mit suchen und ersetzen hinbekommt, aber die kopierte Grafik verliert leider den Bezug und es wird eine eigene Datentabelle generiert.
https://oooforum.de/viewtopic.php?f=2&t ... 55#p294151

Hier ein Beispiel für den defekten Filter:
Filterproblem defekt.ods
defekter Filter
(18.97 KiB) 19-mal heruntergeladen
Einfach mal eine Kalenderwoche auswählen .. :roll:
Zuletzt geändert von deBabba am Mo, 05.04.2021 15:12, insgesamt 1-mal geändert.
F3K Total
********
Beiträge: 3549
Registriert: Mo, 28.02.2011 17:49

Re: Spaltenkopf verschwindet - defekter Filter löschbar?

Beitrag von F3K Total »

Moin,
wie auch immer du das gemacht hast, ich habe:
  • Den Tabelleninhalt in ein neues Tabellenblatt kopiert
  • Das kaputte Blatt gelöscht
  • Den Filter neu gesetzt
Sollte wieder laufen.

Gruß R
Dateianhänge
Filterproblem repariert.ods
(18.56 KiB) 6-mal heruntergeladen
Stephan
********
Beiträge: 12055
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Spaltenkopf verschwindet - defekter Filter löschbar?

Beitrag von Stephan »

das oben beschriebene Problem besteht ja offenbar schon ein paar Jahre wie man an diesem geschlossenen Thread sieht:
Für mich leider nicht eindeutig nachvollziehbar, weil es in dem verlinkten Thread um Standardfilter geht und eine Beispieldatei fehlt.

In Deiner Datei sind hingegen eindeutig Datenbankbereiche falsch definiert die bewirken das der Autofilter falsch greift.
Der Filter kann mit Bordmitteln nicht mehr entfernt werden.
Bei mir geht das problemlos über Daten-Filter-Filter entfernen. (Wohlgemerkt dann wenn ein Auto-Filter ausgewählt ist und also die erste/zweite Zeile verschwunden)


Um den Filter richtig anzubringen muss vor dem Aktivieren des Autofilters (Daten-Filter-Autofilter) der richtige DAtenbereich, im Konkreten also A2:I106, markiert sein.
Sobald aber der Autofilter einmal falsch aktiviert wurde und OO hierbei einen falschen DAtenbankbereicht erzeugt hat, geht das nachträglich nicht mehr richtig, sondern Du musst die Tabelle koperen und die ursprüngliche Tabelle löschen, um die falschen DAtenbankbereiche zu entfernen (Oder Letztere per Makro löschen), erst dann ist dass richtige Aktivieren des Autofilters wieder möglich. Beispiel anhängend.


Gruß
Stephan
Dateianhänge
Filterproblem defekt_korrigiert.ods
(18.43 KiB) 6-mal heruntergeladen
deBabba
*
Beiträge: 11
Registriert: Fr, 19.03.2021 10:49

Re: Spaltenkopf verschwindet - defekter Filter löschbar?

Beitrag von deBabba »

Stephan hat geschrieben: Mo, 05.04.2021 12:15 In Deiner Datei sind hingegen eindeutig Datenbankbereiche falsch definiert die bewirken das der Autofilter falsch greift.
.....

Um den Filter richtig anzubringen muss vor dem Aktivieren des Autofilters (Daten-Filter-Autofilter) der richtige DAtenbereich, im Konkreten also A2:I106, markiert sein.
Sobald aber der Autofilter einmal falsch aktiviert wurde und OO hierbei einen falschen DAtenbankbereicht erzeugt hat, geht das nachträglich nicht mehr richtig, sondern Du musst die Tabelle koperen und die ursprüngliche Tabelle löschen, um die falschen DAtenbankbereiche zu entfernen (Oder Letztere per Makro löschen), erst dann ist dass richtige Aktivieren des Autofilters wieder möglich. Beispiel anhängend
@Stephan,
vielen Dank für die superschnelle Antwort.
Yep, genauso war der Datenbereich definiert wie Du oben beschrieben hast.
Die Kopieraktion in ein neues leeres Blatt ist ja aus oben beschriebenen Gründen eine schlechte Option, weshalb ich an einer Löschmöglichkeit für den gesetzten defekten Filter so interessiert bin.

Danke auch für die korrigierte Version. Ich habe in Deiner Version zwei, drei mal verschiedene Spalten gefiltert und dann versucht den Autofilter zu löschen. Als Option habe ich "Autofilter ausblenden" gewählt und schon habe ich den Defekt, der nicht mehr mit Bordmitteln zu reparieren ist.
ausgegraut
ausgegraut
Autofilter 01.png (29.52 KiB) 435 mal betrachtet
Hier die Datei:
Filterproblem defekt_korrigiert.ods
wieder kaputt
(14.45 KiB) 11-mal heruntergeladen
Alles markieren und mit rechten Klick auf die Zeilen und "einblenden" kann man zwar den kompletten Inhalt incl. Filterleiste wieder anzeigen, aber der Filter ist dennoch hinüber.

Wo finde ich denn ein Makro mit dem man einen defekten Filter löschen kann?

Edit:
Sorry auch vielen Dank an @F3K Total für den Hinweis und die Mühe !!
Stephan
********
Beiträge: 12055
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Spaltenkopf verschwindet - defekter Filter löschbar?

Beitrag von Stephan »

Yep, genauso war der Datenbereich definiert wie Du oben beschrieben hast.
Was nur nichts hilft wenn bereits ein falscher Datenbereich, nämlich A1:I106, vorher automatisch erzeugt wurde.
weshalb ich an einer Löschmöglichkeit für den gesetzten defekten Filter so interessiert bin.
die Datenbankbereiche können per Makro gelöscht werden, z.B.:

Code: Alles auswählen

Sub Main
	dbrn = ThisComponent.DataBaseRanges.getElementNames
	For i = UBOUND(dbrn()) To 0 Step -1
		ThisComponent.DataBaseRanges.removeByName(dbrn(i))
	Next i
	Msgbox "Alle Datenbankbereichs-Definitionen wurden gelöscht"
End Sub
danach kann der filter neu gesetzt werden.



Gruß
Stephan
deBabba
*
Beiträge: 11
Registriert: Fr, 19.03.2021 10:49

Re: Spaltenkopf verschwindet - defekter Filter löschbar?

Beitrag von deBabba »

Stephan hat geschrieben: Mo, 05.04.2021 14:43
Yep, genauso war der Datenbereich definiert wie Du oben beschrieben hast.
Was nur nichts hilft wenn bereits ein falscher Datenbereich, nämlich A1:I106, vorher automatisch erzeugt wurde.
Das hatte ich nach Deinem vorherigen Hinweis auch befürchtet, deshalb hab ich ja oben Deine korrigierte Version genommen, weil ich annahm, daß dort die Bereiche korrekt definiert wurden. Deswegen würde ich nach wie vor von einem Bug ausgehen.

Auf jeden Fall vielen Dank für das Makro !!!
Nach der Anwendung waren die Filterpfeile noch da, aber der Autofilter konnte danach wieder sauber gesetzt werden und es funzt wieder alles 8)

Schöne Restostern noch für alle.
mikeleb
*******
Beiträge: 1025
Registriert: Fr, 09.12.2011 16:50

Re: [gelöst] Spaltenkopf verschwindet - defekter Filter löschbar?

Beitrag von mikeleb »

Hallo,
und schon habe ich den Defekt, der nicht mehr mit Bordmitteln zu reparieren ist.
Ich habe es so gemacht (in der Filterproblem_defekt_koorigiert.ods):
1. Zelle D5 angeklickt
2. Daten->Bereich aktualisieren
3. Filter-> Filter entfernen
4. Bereich A2:I106 ausgewählt
5. Autofilter (entfernt den alten, falschen)
6. Autofilter (setzt einen korrekten neuen)
Gruß,
mikeleb
deBabba
*
Beiträge: 11
Registriert: Fr, 19.03.2021 10:49

Re: [gelöst] Spaltenkopf verschwindet - defekter Filter löschbar?

Beitrag von deBabba »

Moin zusammen,
@mikeleb,
sorry für die späte Reaktion und vielen Dank für diese Lösungsmöglichkeit mit "Bordmitteln".
Habe in der Zwischenzeit noch einiges herumprobiert und bin dann doch wieder auf Situationen gestoßen, wo die Bordmittel Methode nicht mehr gegriffen hat und die Kopfzeilen damit wieder verschwunden blieben.

Die nachhaltigste Methode ist das Makro von @Stefan. Damit habe ich alles geputzt und dann auch den Autofilter nur auf die Wochenspalte gelegt, die ja das eigentliche Filterkriterium sein soll.

Nochmals DANKE
an alle die sich nen Kopf gemacht haben. Wird sicherlich auch dem einen oder anderen helfen, der schon mal ein ähnliches Problem hatte.
Mondblatt24
******
Beiträge: 752
Registriert: So, 14.05.2017 16:11
Wohnort: Niedersachsen

Re: [gelöst] Spaltenkopf verschwindet - defekter Filter löschbar?

Beitrag von Mondblatt24 »

Hallo,
bei mir hat geholfen die Beispieldatei mit LibreOffice zu öffnen, A2:I2 zu markieren, den Autofilter zu entfernen und neu zu setzen.

Gruß Peter
Win.10 (x64) ▪ LO 7.0.5 (x64) ▪ AOO Portable 4.1.8
Wurde die Frage zutreffend beantwortet den Betreff der Eingangsfrage mit [GELÖST] ergänzen. Beschreibung
deBabba
*
Beiträge: 11
Registriert: Fr, 19.03.2021 10:49

Re: [gelöst] Spaltenkopf verschwindet - defekter Filter löschbar?

Beitrag von deBabba »

Mondblatt24 hat geschrieben: Di, 06.04.2021 10:37 Hallo,
bei mir hat geholfen die Beispieldatei mit LibreOffice zu öffnen, A2:I2 zu markieren, den Autofilter zu entfernen und neu zu setzen.

Gruß Peter
Das wäre die einfachste Lösung, funzt bei mir allerdings nicht. Die Köpfe bleiben nach dem Setzen eines neuen Filters verschwunden.
WiM

Re: [gelöst] Spaltenkopf verschwindet - defekter Filter löschbar?

Beitrag von WiM »

Hallo deBabba,

falls in Deiner Datei noch ein 'Anonymous_Sheet_DB' vorhanden ist, dann
lass zuerst das Makro < S_DELETE_DB_RANGES > von F3K Total durchlaufen.
Mittels Navigator (F5) findest Du Deine Datenbankbereiche. Du kannst diese
auch mit dem Makro < Show_Databaseranges > von F3K Total auslesen.
Falls noch nicht vorhanden, musst Du für den Filterbereich noch einen
Datenbankbereich (ruhig gut dimensionieren) festlegen.

Nach dieser Vorarbeit, dass Makros < S_remove_autofilter > von F3K Total
durchlaufen lassen. Dein Problem sollte danach gelöst sein.

Getestet mit AOO 4.1.5 OS Debian (Stretch) GNU/Linux.

Gruß Wim

Code: Alles auswählen

Sub Main '3 Makros von F3K Total
    S_remove_autofilter 'MK löst Autofilterauswahl
'    S_DELETE_DB_RANGES  'MK entfernt nur _Anonymous_Sheet
'    Show_Databaseranges 'MK listet Datenbankbereiche je Tabelle auf
End Sub
    
REM ==================================================================================================
    
    REM Re: CALC: Autofilter ändern/ansteuern? Beitrag von F3K Total » Do, 27.12.2012 21:13
    REM http://de.openoffice.info/viewtopic.php?t=60774#p225915
    Sub S_remove_autofilter 'löst Autofilterauswahl
        odatabaserange = thiscomponent.databaseranges(0)
        oFilterDescriptor = odatabaserange.FilterDescriptor
        oFilterDescriptor.setFilterFields(array())
        odatabaserange.referredcells.Rows.Isvisible = True
        odatabaserange.refresh
    End Sub
    
REM ==================================================================================================
    
REM Re: [gelöst] _Anonymous_Sheet als Datenbereich Beitrag von F3K Total » Mo, 22.12.2014 18:26
REM https://de.openoffice.info/viewtopic.php?t=62309&start=15#p251515
Sub S_DELETE_DB_RANGES 'entfernt nur _Anonymous_Sheet
    oDBR = thiscomponent.DatabaseRanges
    sEN = oDBR.ElementNames
    counter = 0
    for i = 0 to ubound(sEN)
        if instr(sEN(i),"__Anonymous_Sheet_DB__") > 0 then
            counter = counter + 1
            oDBR.removebyname(sEN(i))
        endif
    next i
    if counter = 0 then
        msgbox ("Fertig, keine DB-Bereiche mit ""__Anonymous_Sheet_DB__"" vorhanden.",64,"Anonymous_Sheet_DB entfernen")
    else
        msgbox ("Fertig, "+counter+" DB-Bereiche mit  ""__Anonymous_Sheet_DB__"" gelöscht.",64,"Anonymous_Sheet_DB entfernen")
    end if
End Sub
    
REM ==================================================================================================
    
REM Re: Calc: Makro für AutoFilter Beitrag von F3K Total » Mo, 12.05.2014 20:00 
REM http://de.openoffice.info/viewtopic.php?p=245198#p245198
Sub Show_Databaseranges 'MK listet Datenbankbereiche je Tabelle auf
    dim oRanges as Object
    dim i as integer
    dim sRangename as String
    oRanges = Thiscomponent.DatabaseRanges
    for i = 0 to ubound(oRanges.ElementNames)
        sRangename = oRanges.elementNames(i)
        msgbox "Index: " & i & "  -> Name: " & sRangename
    next i
end sub
deBabba
*
Beiträge: 11
Registriert: Fr, 19.03.2021 10:49

Re: [gelöst] Spaltenkopf verschwindet - defekter Filter löschbar?

Beitrag von deBabba »

Hi Wim,
boah, damit sollte man ja für alle ähnlichen Probleme gerüstet sein.
Vielen Dank dafür und natürlich auch an@F3K Total für die Erstellung der Scripts, die ich gerne in meine Toolbox aufnehme.

Im Moment funzt alles sehr sauber nachdem ich mit Stephan's Makro die defekten Bereiche geputzt habe. Im Originalsheet
https://oooforum.de/viewtopic.php?f=2&t ... 55#p294151
war der Filterbereich nach unten bereits großzügig dimensioniert weit über die bereits gefüllten Zellen hinaus, da ja ständig neue Werte hinzukommen und man nicht laufend den Filter anpassen will.
Deswegen müsste man sich zur Ermittlung des genauen Datenbereiches, für den man den Autofilter nochmal neu setzt um den Defekten zu killen, den Bereich erstmal ermitteln wenn man sich es nicht aufgeschrieben hat.
Etwa mit
Daten --> Bereich festlegen:
Datenbereich für aktiven Filter
Datenbereich für aktiven Filter
Autofilter 03.png (111.23 KiB) 322 mal betrachtet
Wenn man den zu löschenden Bereich nicht genau trifft, gibt es nochmehr Kuddelmuddel :shock:

Aber mit Stephan's Makro funzt das ja prima.

Nochmals Danke
Liebe Grüße und nen guten Start in die Post-Ostern-Woche
Antworten