BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das LibreOffice 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 LibreOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

gelöst; variable Zellenzahl ermitteln

Alles zur Programmierung im LibreOffice.
natal
Beiträge: 119
Registriert: So 8. Mär 2020, 20:03

gelöst; variable Zellenzahl ermitteln

Beitrag von natal » Do 17. Dez 2020, 15:45

Hallo
Nachdem ich mein Problem selber nicht lösen kann (zu geringe Vorkenntnisse), bleibt mir nur übrig, mich an euch um Hilfe zu wenden.

Ich benütze ein Meßprogramm, dass mir bei jedem Durchlauf zwischen 5000 und 45000 Einzelmeßergebnisse liefert.
Die Einzelmeßergebnisse (Zahlen zwischen 0 und 200) werden in Zellen der Spalte A (Libreoffice-calc) gespeichert.
In Spalte B möchte ich nach jedem Meßdurchlauf feststellen, wieviele Zellen der Spalte A tatsächlich belegt wurden.
Das könnte ich erreichen, indem ich in Zelle B2 folgende Formel =wenn(A3=““;““;B1+1) eingebe
und danach diese Formel mit Kopieren und Einfügen in die 45000 Zellen der Spalte B übernehme.
Da ich mir eine Vorlage zum Auswerten der einzelnen Meßdurchgänge erstellen möchte, hätte das zur Folge, dass auch bei Meßdurchgängen bei denen nur 5000 Einzemessungen erforderlich sind, trotzdem 45000 Zellen der Spalte B belegt werden.
Ein unnötig großer Speicherverbrauch.
Besser ist es ein Makro zu erstellen, dass die Formel =wenn(A3=““;““;B1+1) nur solange in die nächste Zelle der Spalte B kopiert, solange die Zellen der Spalte A einen Inhalt besitzen.

Nur dieses Makro zu schreiben geht über meinen Horizont.
Könnt ihr mir dabei behilflich sein?
An Hand so eines geschriebenen Makros gelingt es mir wahrscheinlich auch eher Verständnis zum Schreiben von Makros zu entwickeln.

Gruß und Danke für Hilfe im Voraus
natal
Zuletzt geändert von natal am Mo 1. Mär 2021, 16:30, insgesamt 2-mal geändert.

nitja
Beiträge: 123
Registriert: Di 20. Okt 2020, 15:55

Re: variable Zellenzahl ermitteln

Beitrag von nitja » Do 17. Dez 2020, 18:29

natal hat geschrieben:
Do 17. Dez 2020, 15:45
… B2 folgende Formel =wenn(A3=““;““;B1+1) eingebe
und danach diese Formel mit Kopieren und Einfügen in die 45000 Zellen der Spalte B (??) übernehme. …
Was ist das Ziel? Willst Du lediglich die Zahl der belegten Zellen der Spalte A in B eintragen? Dafür probiere mal =ZÄHLENWENN(A1:A45000;"<>") in B1.
LO 24.2.0.3 (X86_64) auf Linux 6.6.19-1-MANJARO, gnome 45.4, (gtk 4) gtk3 für LO

natal
Beiträge: 119
Registriert: So 8. Mär 2020, 20:03

Re: variable Zellenzahl ermitteln

Beitrag von natal » Fr 18. Dez 2020, 17:59

Vielleicht kann ich mit dieser Beschreibung meinen Wunsch verständlicher machen.

Da das Meßprogramm öfters benützt wird und bei jedem Meßprogrammdurchlauf auch mehrere Berechnungen durchgeführt werden, möchte ich dafür eine Vorlage erstellen.
Für die Vorlage und die Berechnungen ist es notwendig, dass die Zellen der Spalte B mit einem Makro folgendermaßen belegt werden:

* ein Meßprogrammdurchlauf könnte z.B. 6000 gefüllte Zellen in Spalte A ergeben
- das Makro sollte jetzt in die Zelle B1 den Inhalt 1, danach in die Zelle B2 den Inhalt 2,
danach in die Zelle B3 den Inhalt 3 u.s.w. schreiben und das so lange wiederholen bis
die Zelle B6000 erreicht ist und in die Zelle B6000 der Inhalt 6000 eingetragen wurde
und dann stoppen
* ein weiterer Meßprogrammdurchlauf ergibt z.B. 14500 gefüllte Zellen in Spalte A
- das Makro sollte jetzt in die Zelle B1 den Inhalt 1, danach in die Zelle B2 den Inhalt 2,
danach in die Zelle B3 den Inhalt 3 schreiben u.s.w. und das so lange wiederholen bis
die Zelle B14500 erreicht ist und die Zelle B14500 den Inhalt 14500 besitzt und dann
stoppen

Das Makro sollte also entsprechend der Programmdauer und der Anzahl der dabei gefüllten Zellen der Spalte A die gleiche Anzahl von Zellen der Spalte B mit Zahlen beginnend mit 1 füllen.

craig
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: variable Zellenzahl ermitteln

Beitrag von craig » Fr 18. Dez 2020, 18:50

Hallo natal,
natal hat geschrieben:bei jedem Meßprogrammdurchlauf auch mehrere Berechnungen durchgeführt werden
Frage:
  1. wie werden die Meßdaten erfasst?
    1. manuelle Einträge
    2. Alle Daten eines gesamten Meßdurchlauf per c&p
    3. Automatisch z.B. per Zeitintervall durch ein externes Programm, wenn ja, in welchen Zeitabschnitten (z.B. alle 10 Sekunden)
  2. auf Basis Deiner geposteten Wenn-Funktion gehe ich davon aus, dass es beim Messen auch zu leeren Zelle in Spalte A kommt, welche nicht mitgezählt werden sollen.
    Ist dies korrekt?
Es gibt verschiedenste Methoden, wie man ein solches Makro schreiben könnte und es gibt verschiedenen Methode wie ein solches Makro reagieren soll, z.B. bei Tabellenblattereignissen, auf Knopfdruck, sonstiges.
Dies ist u.U. davon abhängig, wie die Daten erfasst werden.

Deshalb brauche ich mehr Informationen zu obengestellten Fragen.
Ausserdem kann es auch wichtig sein, ob weitere Zellen im Tabellenblatt ständig mit Daten/ Formeln belegt sind, eine Zellbereichsangabe ist das Minimum, besser eine Beispieldatei, damit wird beide auf dem gleichen Kenntnisstand sind.
Gruß

Craig

Nie die Sicherungskopie vergessen!

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

natal
Beiträge: 119
Registriert: So 8. Mär 2020, 20:03

Re: variable Zellenzahl ermitteln

Beitrag von natal » Fr 18. Dez 2020, 21:03

Hallo craig

- Die Daten übernehme ich manuell von einem anderen Programm und füge sie per c&p in Spalte A ein

- außer den Daten, die ich mit c&p in Spalte A einfüge, ist Spalte A leer

- mit der Formel =wenn(A3=““;““;B1+1) wollte ich euch nur sagen (ein irreführender Versuch von mir), dass das Zählen in Spalte B beendet werden soll, wenn die Zellen in Spalte A keinen Inhalt mehr haben

- tatsächlich wäre es für mich interessant, ein Macro zu haben, dass alle belegten Zellen der Spalte A ermittelt und eines, das die Zellen der Spalte A mit dem Inhalt 0 nicht mitzählt

Ich hoffe es ist zu aufwendig für euch.

Gruß
natal

craig
Beiträge: 1137
Registriert: Do 21. Apr 2016, 11:42

Re: variable Zellenzahl ermitteln

Beitrag von craig » Fr 18. Dez 2020, 21:48

Hallo natal,

teste dieses:
Meßdaten zählen mit Makro.ods
(10.64 KiB) 207-mal heruntergeladen
Weitere Infos in der Datei und im Makro.

Für weitere Makros empfehle ich Dir dieses Codeinspektions-Tool:
XRAY
Es handelt sich hierbei um ein deutschsprachiges Writer-Dokument,
einfach öffnen und auf den Button "Installieren" klicken.
Die beschriebene SDK, als auch die Einbindung der API ist nicht erforderlich. Einfach ignorieren.

eBooks:
https://www.uni-due.de/~abi070/count.ph ... eutsch.pdf
https://docs.oracle.com/cd/E19064-01/so ... 7-3924.pdf

http://www.starbasicfaq.de/index.html

API Dokumentation:
LibreOffice API
AOO API
Gruß

Craig

Nie die Sicherungskopie vergessen!

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

nitja
Beiträge: 123
Registriert: Di 20. Okt 2020, 15:55

Re: variable Zellenzahl ermitteln

Beitrag von nitja » Fr 18. Dez 2020, 22:31

bsp 4 natal @ LO-F.ods
(16.49 KiB) 154-mal heruntergeladen
*oops* sehe gerade, dass craig auch schon ein Beispiel rein gestellt hat.
Nimm halt das, was Dir besser gefällt oder das, was auch bei zig-tausend Zeilen immer noch schnell läuft.
LO 24.2.0.3 (X86_64) auf Linux 6.6.19-1-MANJARO, gnome 45.4, (gtk 4) gtk3 für LO

Wanderer
Beiträge: 895
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: variable Zellenzahl ermitteln

Beitrag von Wanderer » Sa 19. Dez 2020, 17:02

natal hat geschrieben:
Do 17. Dez 2020, 15:45
...
, dass auch bei Meßdurchgängen bei denen nur 5000 Einzemessungen erforderlich sind, trotzdem 45000 Zellen der Spalte B belegt werden.
Ein unnötig großer Speicherverbrauch.
Besser ist es ein Makro zu erstellen, dass die Formel =wenn(A3=““;““;B1+1) nur solange in die nächste Zelle der Spalte B kopiert, solange die Zellen der Spalte A einen Inhalt besitzen.
Wenn Speicherplatz eine Rolle spielt, warum willst Du den Inhalt von =Zeile(A3) überhaupt speichern, denn mehr als eine Zeilennummer erzeugst Du ja nicht?
(Dabei bin ich davon ausgegangen, dass eigentlich B2+1 gemeint war)

Mfg, Jörn
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

natal
Beiträge: 119
Registriert: So 8. Mär 2020, 20:03

Re: variable Zellenzahl ermitteln

Beitrag von natal » Mo 21. Dez 2020, 10:26

Hallo, Danke für Eure Antworten.
Dass ich mich bisher nicht gemeldet habe, liegt daran, dass ich mit Euren Makrolösungsvorschlägen bei meinen Vorkenntnissen nicht weis, wie ich sie benützen sollte.
Erwartet hatte ich mir eine Formel, die ich in eine Zelle eingeben kann.
Aber das habe ich mir offentsichtlich zu einfach vorgestellt.
Entweder ich muß die Lösung meiner Frage so lange vertagen, bis ich mir die notwendigen Kenntnisse angeeignet habe, oder Ihr könnt mir auf einfache Art klar machen wie ich weiter vorgehen sollte.

@ wanderer
da hast Du natürlich recht.
Aber mir geht es, außer Speicherplatzschonung, darum zu verstehen, wie man mit einem Makro ein Programm starten kann, dass sich selbstständig, bei erreichen einer bestimmten Voraussetzung, beendet.

Gruß
natal

mikele
Beiträge: 1642
Registriert: Mo 1. Aug 2011, 20:51

Re: variable Zellenzahl ermitteln

Beitrag von mikele » Mo 21. Dez 2020, 11:34

Hallo,
Erwartet hatte ich mir eine Formel, die ich in eine Zelle eingeben kann.
Aber das habe ich mir offentsichtlich zu einfach vorgestellt.
Erwartest hast du ein Makro.
Meinst du so etwa so etwas einfaches:

Code: Alles auswählen

=ZÄHLENWENN(A1:A100000;">0")
Aber diese Antwort hast du ja gleich als Erstes bekommen ...
Gruß,
mikele

An alle, die das LibreOffice-Forum nutzen:


Bitte beteiligen Sie sich mit 7 Euro pro Monat und helfen uns bei unserem Budget für das Jahr 2024.
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