❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

[Gelöst] Zeilen in einer Tabelle per Makro ein-/ausblenden

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Wolfgang
Beiträge: 64
Registriert: Mi 30. Mai 2012, 17:14

[Gelöst] Zeilen in einer Tabelle per Makro ein-/ausblenden

Beitrag von Wolfgang » Do 19. Mär 2020, 19:47

Hallo,

in einem Tabellenblatt gibt es einen Bereich mit 100 Zeilen mit Formel, sagen wir d10 bis f99. Von diesen 100 Zeilen werden aber nicht immer alle benötigt, d.h. einige der Zeilen bleiben bei/nach der Berechnung durch die Formeln leer. Für die Übersicht am Schirm als auf für den späteren Ausdruck sollen die leeren Zeilen ausgeblendet werden. Das geht zwar manuell, aber doch bestimmt auch automatisch. Die Anzahl der jeweils benötigten Zeilen wird als erstes berechnet steht dann in einer bestimmten Zelle, ist also bekannt.


Wie müsste ein Makro aussehen, der das Aus- und Einblenden gestaltet, nachdem die Anzahl der benötigten Zeilen errechnet wurde?

Anders ausgedrückt:

Beim ersten Benutzen der Tabelle werden nur 5 Zeilen benötigt. Der Makro muss also 95 Zeilen ausblenden. Beim nächsten Anwenden der Tabelle werden 25 Zeilen benötigt, der Makro müsste also 75 Zeilen ausblenden, d.h. 20 Zeilen wieder einblenden.

Oder gibt es eine besser Möglichkeit für diese Funktion als einen Makro?
Zuletzt geändert von Wolfgang am Di 31. Mär 2020, 15:41, insgesamt 1-mal geändert.

craig
* LO-Experte *
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: Zeilen in einer Tabelle per Makro ein-/ausblenden

Beitrag von craig » Do 19. Mär 2020, 20:38

Hallo Wolfgang,

ich würde hierfür den Autofilter nutzen.

Siehe Datei...
Dateianhänge
Autofilter.ods
(27.08 KiB) 405-mal heruntergeladen
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

Wolfgang
Beiträge: 64
Registriert: Mi 30. Mai 2012, 17:14

Re: Zeilen in einer Tabelle per Makro ein-/ausblenden

Beitrag von Wolfgang » Do 19. Mär 2020, 21:40

Das funktioniert leider nicht so, wie erhofft: die Formeln in den Zellen werden wohl als Inhalt gewertet, also ist "nicht leer" wahr.

craig
* LO-Experte *
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: Zeilen in einer Tabelle per Makro ein-/ausblenden

Beitrag von craig » Do 19. Mär 2020, 22:14

Hallo Wolfgang,

habe die Datei um Hilfspalten erweitert:
Autofilter mit HIlfspalte.ods
(28.95 KiB) 350-mal heruntergeladen
Wenn diese Lösung für Dich nicht brauchbar ist und
niemand sonst eine einfache Idee hat, wirst Du um
eine Makro nicht herumkommen.

Allerdings wäre dann eine aussagekräftige, dem Original
entsprechende Musterdatei von erheblichen Vorteil.
Gruß

Craig

Nie die Sicherungskopie vergessen!

════════════════════════════════════════════════
WIN 10 Pro 64-Bit • LO 7.4.5.1 (x64) • AOO 4.1.8

r0land
Beiträge: 45
Registriert: Sa 28. Dez 2019, 09:06

Re: Zeilen in einer Tabelle per Makro ein-/ausblenden

Beitrag von r0land » Fr 20. Mär 2020, 09:29

Vielleicht reicht es auch schon, wenn Du in craigs Autofilter den Haken bei (leer) entfernst. Keine Ahnung, wie Deine Formeln aussehen. Ich hab in Daten3 folgendes geschrieben:

Code: Alles auswählen

=WENN(A2<>"";A2;"")
Der Haken bei (leer) und der Button "nicht leer" scheinen unterschiedlich zu funktionieren.

Genau gesagt.. hat der Button bei mir offenbar sogar eine Fehlfunktion. Wenn ich auf "nicht leer" klicke zeigt er alle Zeilen an ( auch die leeren ).. entfernt aber gleichzeitig die Haken bei allen Einträgen und lässt nur bei (leer) den Haken gesetzt.


Grüße
Dateianhänge
Autofilter-1.ods
(39.67 KiB) 283-mal heruntergeladen

Wolfgang
Beiträge: 64
Registriert: Mi 30. Mai 2012, 17:14

Re: Zeilen in einer Tabelle per Makro ein-/ausblenden

Beitrag von Wolfgang » Fr 20. Mär 2020, 17:53

Ja, so verhält sich der Filter auch bei mir, sowohl bei meiner Tabelle als auch bei deiner Demo-Tabelle. Ich hatte schon gedacht, dass Zellen mit Formeln, aber ohne Ergebnis als "nicht leer" gelten.

Es könnte aber auch daran liegen, dass meine Formeln so gestaltet sind, dass sie im Falle keines Ergebnisses einen leeren String einfügen:

=WENN(A17>=$C$10;"";A17+1)

Damit wäre die Zelle ja auch "nicht leer".

Ich habe die Formeln jetzt alle so umgestaltet, dass sie einen Punkt "." statt einer leeren Zeichenfolge eintragen:

=WENN(A17>=$C$10;".";A17+1)


Damit müsste es doch jetzt eigentlich relativ einfach sein, alle Zeilen, die nur einen Punkt enthalten, auszublenden. Nur wie gesagt: das Ausblenden soll automatisch erfolgen, ohne dass der Benutzer erst irgend ein Menü und/oder eine Option aufrufen muss.

Eine Alternative zum Ausblenden wäre eine Option, die besagt, dass Zellen, die nur einen Punkt enthalten, beim Drucken und beim Export nach PDF ignoriert werden sollen. Gibt es solch eine Option, die ich noch nicht gefunden habe?

Wolfgang
Beiträge: 64
Registriert: Mi 30. Mai 2012, 17:14

Re: Zeilen in einer Tabelle per Makro ein-/ausblenden

Beitrag von Wolfgang » Sa 21. Mär 2020, 19:02

So, es ist fast geschafft! :)

Mit der Makro-Aufzeichnung habe ich jetzt einen Makro erstellt, das folgende Schritte ausführt:

- "Suchen und Ersetzen" aufrufen
- das Suchmuster einsetzt
- Optionen "nur ganze Zellen" und "Suchen in Werte" aktiviert
- "Alle suchen" ausführt
- "Zellen ausblendet" ausführt

Das funktioniert, allerdings mit einem kleinen Schönheitsfehler: beim ersten Aufrufen des Makros erscheint stets die Meldung mit der Anzahl der gefundenen Zellen. Es gibt dann zwar die Möglichkeit, den Haken bei "dieses Fenster anzeigen" zu entfernen, damit dieses Fenster beim nächsten mal nicht erscheint, aber das hält immer nur bis zum nächsten Öffnen der Datei. Danach muss dieser Haken erneut entfernt werden.

Wie kriege ich diesen Makel noch entfernt?

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Zeilen in einer Tabelle per Makro ein-/ausblenden

Beitrag von F3K Total » So 22. Mär 2020, 17:52

Vielleicht lädst du enfach mal die problematische Datei hoch?
Windows 11: AOO, LO Linux Mint: AOO, LO

Wolfgang
Beiträge: 64
Registriert: Mi 30. Mai 2012, 17:14

Re: Zeilen in einer Tabelle per Makro ein-/ausblenden

Beitrag von Wolfgang » So 22. Mär 2020, 18:12

Wenn du in der angehängten Tabelle eine Änderung durchführst, wird der Makro ausgeführt. Und es erscheint das Fenster mit der Anzahl der Suchergebnisse. Dieses Fenster kann zwar vom weiteren Erscheinen abgehalten werden, aber wenn ich die Datei erneut lade, gilt das nicht mehr.

Vielleicht gibt es aber auch eine bessere Möglichkeit, alle Zeilen auszublenden, in denen die Zellen nur die Zeichenkette "~~~" enthalten?
Dateianhänge
makro ausblenden.ods
(10.26 KiB) 319-mal heruntergeladen

F3K Total
* LO-Experte *
Beiträge: 2501
Registriert: So 10. Apr 2011, 10:10

Re: Zeilen in einer Tabelle per Makro ein-/ausblenden

Beitrag von F3K Total » So 22. Mär 2020, 18:33

Einmal ausgeführt: Schlangen werden ausgeblendet, nochmal, Schlangen werden wieder eingeblendet.

Code: Alles auswählen

sub hide_F3k
    osheet = ThisComponent.currentController.ActiveSheet
    oCursor = oSheet.CreateCursor
    oCursor.gotoendofusedarea(false)
    aRangeAddress = oCursor.RangeAddress
    for i = aRangeAddress.Endrow to 0 step - 1
        for k = 0 to aRangeAddress.Endcolumn
            oCell = osheet.getcellbyposition(k,i)
            if oCell.string = "~~~" then
                oSheet.rows(i).IsVisible = not (oSheet.rows(i).IsVisible)
            endif
        next k
     next i   
End Sub
R
Dateianhänge
makro ausblenden.ods
(12.13 KiB) 403-mal heruntergeladen
Windows 11: AOO, LO Linux Mint: AOO, LO


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten