🍀 Das LibreOffice Forum braucht HEUTE Ihre Hilfe! 🍀
❤️ Spenden Sie jetzt und sichern Sie die Zukunft unseres LibreOffice-Forums ❤️
Ihre Spende hilft, die Community offen, werbefrei (bei Registrierung) und lebendig zu halten. Vielen lieben Dank!

🙏 DANKE >> << DANKE 🙏

>> Das LibreOffice-Forum lebt von Ihnen – und von vielen Experten, die freiwillig und kostenlos ihr Wissen teilen.<<
Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.

von-bis Zeilenwerte eines gewählten Buchungszeitraums ermitteln

CALC ist die Tabellenkalkulation, die Sie immer wollten.
Antworten
Arkana
Beiträge: 4
Registriert: Do 29. Nov 2018, 11:39

von-bis Zeilenwerte eines gewählten Buchungszeitraums ermitteln

Beitrag von Arkana » Di 13. Okt 2020, 14:00

Hallo liebe Community,

ich kämpfe gerade mit folgenden Problem:
Ich habe eine relative komplexe Tabelle für meine persönliche Buchhaltung erstellt. Ich habe hier die Kontobelewungen der letzten 2 Jahre dargestellt und gefiltert. Kürzlich habe ich die Tabelle um die Möglichkeit erweitert, einen Buchungszeitraum zu definieren und per Makro alle Zeilen auszublenden, die nicht im gewählten Zeitraum liegen.
Grundsätzlich funktioniert es so wie es soll, ich bin allerdings mit der Performance unzufrieden. Bei einen zu prüfenden Bereich von 1000 Zeilen benötigt die for - to Schleife schon ca. 10 Sekunden. Wenn ich mir vorstelle, dass der Bereich über die nächsten Jahre weiter anwachsen wird, zeichnet sich bereits jetzt ab, dass die Lösung suboptimal ist.
Das zur Einleitung.

Ich bin auf eine Idee gekommen, wie sich der Vorgang beschleunigen lassen könnte und dafür brauche ich nun Eure Hilfe.
IDEE:
Über eine normale Formelverknüpfung sollte der erste und der letzte ZEILEnwert, der im Buchungszeitraum liegt ermittelt werden. Dabei ist allerdings zu beachten, dass nicht der exakte Eingabewert des gewählten Buchungsbereiches in der Buchungsliste auftauchen muss, da ja nicht an jeden Tag Buchungen stattgefunden haben, as sollte also mit >= und <= geprüft werden.

Der Buchungszeitraum befindet sich in Spalte D (ab D7), die Auswahl wird in Zelle G3(von Datum) und G4(bis Datum) vorgenommen. Ich stelle mir vor, dass nun in Zelle J3 die Zahl der ersten Zeile und in J4 die Zahl der letzten Zeile, des Buchungszeitraumes dargestellt wird.
Ich vermute, dass das mit Index, Vergleich und so weiter funktioniert, aber wie sieht die Formel genau aus?


Nun könnte ich per Makro J3 und J4 auslesen und im Bereich von Zeile 6 bis 1006 nur die Zeilen einblenden, die eben in J3 und J4 definiert sind, bzw. zwischen diesen Werten liegen.
Hier wäre jetzt meine zweite Frage:
Gibt es per Makro die Möglichkeit, die Zeilemn 6 bis x auf einen Schlag auszublenden, oder muss man zwangsläufig per for - to - next Schleife Zeile für Zeile machen?
Wenn ja, wie geht das?

Vielen Dank schon mal im voraus!

Herzliche Grüße
Arkana

Mondblatt24
* LO-Experte *
Beiträge: 3585
Registriert: Fr 3. Mär 2017, 17:12

Re: von-bis Zeilenwerte eines gewählten Buchungszeitraums ermitteln

Beitrag von Mondblatt24 » Di 13. Okt 2020, 14:15

Hallo,
für Makros gibt es den Abschnitt LibreOffice Programmierung .

Gruß
Peter
Win 11 (x64) ▪ LO 26.2.3.2 (x64) ▪ AOO Portable 4.1.16
Wenn Eure Frage zutreffend beantwortet wurde, seid so nett und fügt dem Betreff der Eingangsfrage [GELÖST] hinzu.

paljass
* LO-Experte *
Beiträge: 702
Registriert: Fr 18. Mär 2011, 15:34

Re: von-bis Zeilenwerte eines gewählten Buchungszeitraums ermitteln

Beitrag von paljass » Di 13. Okt 2020, 15:14

Hi,
ohne Beispieldatei kann man nur raten.
Ich rate mal, dass dir durch die beiden Datumsangaben auch schon der Spezialfilter weiter helfen könnte.

Gruß
paljass

P.S.: Vermutlich könnte man die gewünschte Ausgabe auch per Formel mit Hilfsspalte auf ein anderes Tabellenblatt ausgeben.


An alle, die das LibreOffice-Forum gern nutzen:
Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das laufende.
Einfach per Kreditkarte oder PayPal. Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet.



❤️ Vielen lieben Dank für Ihre Unterstützung ❤️

Antworten