BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!

DANKE >><< DANKE

> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗

Zeilen durch Zelleingabe ausblenden

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
moin2017
Beiträge: 1
Registriert: Mo 27. Nov 2017, 08:29

Zeilen durch Zelleingabe ausblenden

Beitrag von moin2017 » Fr 1. Dez 2017, 22:27

Hallo,
ich habe eine Tabelle entwickelt in der Vertretungseinsätze notiert werden sollen. Meine Datei besteht aus 12 Tabellen (für jeden Monat) und jede Monatstabelle gibt Möglichkeit an pro Tag 15 Vertretungseinsätze einzugeben. Es sind somit 15x31=465 Zeilen möglich einzugeben. Die brauche ich selten alle. Also könnten von diesen Zeilen fast alle ausgeblendet werden, in denen in der Spalte E nichts eingetragen ist. Ich möchte die eingetragenen Zeilen eingeblendet haben und die direkte Nachfolgerzeile.

Wenn ich z.B. in E17 einen Namen eingetragen haben, soll sofort E18 eingeblendet werden, ohne dass ich einen Schalter oder ähnliches betätigen muss.
Wenn ich Tage später dann in E18 auch etwas eintrage soll sich sofort E19 öffnen. Geht das ? und wie ? Ich habe mit Standartfilter, Autofilter ... probiert. Möchte dies nicht, weil ich nicht ständig auf den Knopf schalten will.

Über Hilfe würde ich mich sehr freuen

F3K Total
Beiträge: 1006
Registriert: Mo 1. Aug 2011, 00:03

Re: Zeilen durch Zelleingabe ausblenden

Beitrag von F3K Total » Mo 4. Dez 2017, 17:50

Hi,
geht nach meiner Einschätzung nur per Makro.
Dieses Makro

Code: Alles auswählen

Sub SHOW_HIDE_ROWS(oCell)
    oSheet = oCell.Spreadsheet
    if oCell.Supportsservice("com.sun.star.sheet.SheetCell") then
          if oCell.Celladdress.Column = 4 then '4 entspricht Spalte E (4+1ste Spalte, Spalte A hat Index 0)
              nRow = oCell.Celladdress.Row
              oRow = oSheet.rows.getbyindex(nRow + 1)
              if oCell.String <> "" then
                  oRow.IsVisible = true
              else
                  oRow.IsVisible = false
              endif
          endif
    endif
End Sub
an das Tabellenereignis "Inhalt geändert" gebunden, blendet die nächte Zeile ein, wenn der Inhalt der Zelle in Spalte E nicht leer ist. Wird das Feld geleert, wird die folgende Zeile ausgeblendet.
Beispiel anbei.

Damit das Makro laufen darf, stellst du unter Extras/Einstellungen/Openoffice.. oder Extras/Optionen/LibreOffice/Sicherheit/Makrosicherheit mindestens die Stufe "Mittel" ein, dann wirst du beim Öffnen von Dokumenten gefragt, ob du Makros ausführen möchtest.

HTH R
Dateianhänge
Einblenden_ausblenden.ods
(9.07 KiB) 94-mal heruntergeladen
Windows 10: AOO, LO Linux Mint: AOO, LO

Antworten