🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ 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> 2 Tabellen vereinigen & Leerzeilen eliminieren

CALC ist die Tabellenkalkulation, die Sie immer wollten.
gnet
Beiträge: 10
Registriert: Di 5. Feb 2013, 10:46
Wohnort: Bayern

<gelöst> 2 Tabellen vereinigen & Leerzeilen eliminieren

Beitrag von gnet » Di 5. Feb 2013, 11:20

Hallo zusammen,

bin ganz neu hier und auch in Sachen Office/Calc noch sehr unerfahren. Eine Tabelle mit aufwendigen Formeln erstellen ist kein Problem, aber das Ganze dann in anderen Tabellen sinnvoll zusammensetzen oder sogar Exportfiles erstellen, da gibt es noch große Defizite. Die Erstellung von Makros ist für mich derzeit noch ein Buch mit mehr als sieben Siegeln :cry:
Ich habe bereits die Suche seit einigen Tagen in Anspruch genommen, aber leider kein brauchbares bzw. für mich umsetzbares Ergebins gefunden. :oops:

Ich habe folgendes Problem:
In einer umfangreichen Tabelle erstelle ich komplette Tagesabläufe, pro Tag eine Zeile, inkl. Frei, Krank, Urlaub......
Es beginnt mit Daten zur Anreise über verschiedene Tätigkeiten bis zur Rückreise und um die Punkte An- & Abreise geht es.
Es muss aber nicht jeden Tag eine An- & Abreise geben, es kann auch zun einer beliebigen Zahl von Übernachtungen kommen.
Es gibt also Tage mit An- & Abreise, nur Anreise, nur Abreise oder gar keine Reise, da mehr als 1 Übernachtung.

Ich brauche aber die Daten der An- & Abreise als csv für meinen Auftraggeber (1 Spalte, alle Werte kommagetrennt --> zB: aaa,bbb,ccc,ddd,eee,fff).
Die csv dürfen keine Leerzeilen enthalten und auch keine 'leeren' Datensätze (zB: 05.02.2013,,,,,).

Derzeit helfe ich mir wie folgt:
1. Ich habe drei zusätzliche, aber identische Tabellen (TabAnr, TabAbr, TabExp) --> Die jeweils 1. Zeile enthält die zum Import notwendigen Feldbezeichnung, ebenfalls Kommagetrennt.
2. Ich erzeuge in TabAnr & TabAbr ab Zeile 2 die jeweiligen Daten bereits als kommagetrennten Text
3. Ich sortiere beide Tabellen 'absteigend' --> Somit habe ich die jeweiligen Leerzeilen am Schluß
4. Ich kopiere beide 'befüllten' Tabellenbereiche in eine dritte und speichere die dann als 'export.csv' ab
Da sich die Tabellen ja im Laufe des Jahres bis auf 366 Zeilen 'aufblähen' wird das Ganze immer aufwändiger und unübersichtlicher.

Gibt es hier eine Möglichkeit dies zu automatisieren?

Würde mich freuen, wenn hier jemand für mich umsetzbare Ideen dazu hat, wie gesagt, ich bin nur noch absoluter 'Dummie' :roll:
Zuletzt geändert von gnet am So 17. Feb 2013, 15:28, insgesamt 1-mal geändert.

gnet
Beiträge: 10
Registriert: Di 5. Feb 2013, 10:46
Wohnort: Bayern

Re: 2 Tabellen vereinigen und Leerzeilen vermeiden/eliminier

Beitrag von gnet » Sa 9. Feb 2013, 18:04

Hallöchen,

hat hier wirklich keiner Vorschläge oder Links zu Beiträgen, die ich (vielleicht) noch nicht gefunden habe oder habe ich was falsch gemacht?
Wenigstens ein bischen Feedback würde mir schon reichen/helfen und wenn's nur ein "... so nicht ..." oder ein " ... keine Ahnung ..." ist.
Dann weiß ich wenigstens woran ich bin.
Oder bin ich nur zu ungeduldig?

Ich brauche hier wirklich Hilfe, ich hab jetzt schon viel in der Richtung im Internet gesucht, aber keine Lösung hilft mir wirklich weiter bzw. läßt sich (von mir!) so auf meinen Fall anwenden, daß es funktioniert.
Es kann dioch nicht sein, daß sich etwas nicht automatisieren läßt?

Gruß und ein hoffnungsvolles Danke im Voraus
gnet

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: 2 Tabellen vereinigen und Leerzeilen vermeiden/eliminier

Beitrag von balu » So 10. Feb 2013, 12:04

Hallo gnet,

was hällst Du denn davon wenn Du hier eine Beispieldatei anhängst? Du schreibst wohl sehr viel, aber ein richtiges Bild können wir uns davon nicht machen.



Gruß
balu

gnet
Beiträge: 10
Registriert: Di 5. Feb 2013, 10:46
Wohnort: Bayern

Re: 2 Tabellen vereinigen und Leerzeilen vermeiden/eliminier

Beitrag von gnet » So 10. Feb 2013, 14:15

Hallo balu,

erstmal danke für Deine Reaktion :D
Dachte eigentlich daß einpaltige Tabellen mit identischem Aufbau keine großen Fragen aufwerfen, daher nur die Beschreibung meines Problems.
Habe jetzt mal eine eigene Arbeitsmappe mit zwei Tabellen erstellt, die jeweils 51 Muster-Daten enthalten, das Original wäre viel zu groß und enthält auch einiges an vertraulichen Daten.
Im Original sind das aber Formeln, die auf andere Tabellen/Zellen zugreifen und aus jeweils insgesamt 367 Zeilen bestehen.

Mein Traum wäre, daß ich beide Tabellen 'per Knopfdruck' so zu einer zusammenfassen kann, daß:
1. alle Daten beider Tabellen untereinander stehen plus Kopfzeile
2. alle Leerzeilen eliminiert sind (auch evtl. am Ende der Tabelle)
3. Das Ganze in ein eigenes csv kopiert bzw. exportiert wird
Referenzkriterium für den späteren Import in ein AZ-Programm ist das "DatBeg", jeweils an zweiter von sechs kommagetrennten Stellen (ähnlich wie csv-Import bei Kalendern)

In diesem Beispiel wären das dann 68 befüllte Zeilen in nur einer Spalte:
1 Kopfzeile
+45 Daten aus TabAnr (abzgl. 6 Leerzeilen)
+22 Daten aus TabAbr (abzgl. 29 Leerzeilen)

Wenn man beide Tabellen nebeneinander legt, sieht man, daß es nicht in jeder Zeile einen Eintrag geben muss, ja nicht mal das Datum gleich sein muss (Zeilen 28/29), da ich dort an einem Tag 2 Anreisen, aber nur 1 Abreise hatte, die zweite war am nächsten Morgen (wie bei Nachtschicht).

Bisher habe ich beide Tabellen in einer dritten zusammenkopiert, Leerzeilen ausgefiltert und dann manuell als csv gespeichert.
Und das würde ich gerne komplett automatisieren, da ich Ganze auch mal eben schnell-schnell machen muss und Zeit & Fehler begrenzen möchte :)

Ich hoffe, daß es diesmal etwas einfacher wird, sich das Ganze so vorzustellen, wie ich mir das vorstelle ;)

Gruß gnet
Dateianhänge
Muster_csv.ods
erstellt mit
LibreOffice 3.5.4.2
Build-ID: 350m1(Build:2)
(24.81 KiB) 326-mal heruntergeladen

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: 2 Tabellen vereinigen und Leerzeilen vermeiden/eliminier

Beitrag von balu » Mo 11. Feb 2013, 12:01

Hallo gnet,

also ich sehe das so, dass Du dein Pferd wohl verkehrt herum von hinten aufzäumst. Das ist zumindest meine Vermutung. Denn Du machst dir erst in einer Datei die Mühe deine Daten zu erfassen, sie irgendwie miteinander zu verketten, diese verketteten Daten zu exportieren um sie dann in einer weiteren Datei auf mehrere Blätter zu verteilen und dann dort in eine Spalte zu verschmelzen um sie anschließend schlussendlich als CSV zu exportieren.

Und nun hängst Du eine Beispieldatei hier an die deine letzten Schritte darstellen soll. Das find ich aber irgendwie ungeeignet. Besser wäre es wenn Du
1.
deine Zeiterfassungsdatei (das ist ja wohl hoffentlich eine Calc-Datei?)

und 2.
eine fertige CSV-Datei die Du dann deinem Auftraggeber gibst
hier anhängst. Natürlich anonymisiert und von vertraulichen Daten befreit.

Garantieren können wir natürlich nix, aber wenn wir sehen wie die Erfassungsdatei aufgebaut ist -{inklusive der Formeln}-, und wie die CSV aussehen soll, dann liese sich wahrscheinlich alles in nur einer Datei erledigen, anstatt den Umweg über eine zusätzliche zwischengeschaltete Datei zu gehen.



Gruß
balu

gnet
Beiträge: 10
Registriert: Di 5. Feb 2013, 10:46
Wohnort: Bayern

Re: 2 Tabellen vereinigen und Leerzeilen vermeiden/eliminier

Beitrag von gnet » Mo 11. Feb 2013, 13:32

balu hat geschrieben:Hallo gnet,
also ich sehe das so, dass Du dein Pferd wohl verkehrt herum von hinten aufzäumst. Das ist zumindest meine Vermutung. Denn Du machst dir erst in einer Datei die Mühe deine Daten zu erfassen, sie irgendwie miteinander zu verketten, diese verketteten Daten zu exportieren um sie dann in einer weiteren Datei auf mehrere Blätter zu verteilen und dann dort in eine Spalte zu verschmelzen um sie anschließend schlussendlich als CSV zu exportieren.
Und dem ist aber nicht so
Wie von Dir anschließend vorgeschlagen, handelt es sich hier auch nur um 1 Datei, in der bisher alles passiert, von der Arbeitszeiterfassung inkl. Überstunden, Zuschläge etc, über Reisezeiten, Entfernungsnachweise, Buchungsvermerke & -nachweise, steuerliche Berechnungen und Nachweise und umfangreichen Spesen- & Tätigkeitsnachweisen, alles schön brav miteinander verknüpft und referenziert auf das jeweilige Tagesdatum und falls notwendig auch mit der Zeit, zB. im Falle von verschiedenen Einsätzen pro Tag..... das sind ein paar Tabellen mehr, als 'nur' eine Arbeitszeiterfassung!
Somit wäre die gesamte Datei nicht nur zu Umfangreich, sondern für die eigentliche Problemstellung viel zu verwirrend.

Es geht ausschließlich um die jeweils einspaltigen Ergebnisse in den Tabellen TabAnr & TabAbr, die in einem CSV ohne Leerzeilen zusammengefasst werden sollen.
--> Und die habe ich eigentlich zur Einfachheit in eine eigene Musterdatei kopiert und zur Verfügung gestellt.
Ich könnte natürlich gleich alle Ergebnisse in eine statt zwei Tabellen erzeugen lassen, aber das sind dann 733 Zeilen (bei zukünftigen Erweiterungen sogar noch mehr) und das wird zur Kontrolle sehr unübersichtlich!
Die einzige weitere Datei, die verwendet werden soll, wäre das zu erstellende CSV.
Und die sieht genau so aus, wie das Muster, aber halt nur noch eine Tabelle und ohne Leerzeilen!

Alles was ich möchte, und leider nach wie vor nicht in einer für mich zu verwendenden oder verstehenden Form gefunden habe, ist:
1. Wie lösche ich automatisiert Leerzeilen (erzeugt mit ="")?
--> Manuell geht das ja über den Standardfilter
----> Derzeit kopiere ich zuerst beide Tabellen in eine 3., um die Quellformeln nicht zu gefährden!
2. Wie exportiere ich automatisiert in ein CSV
--> Manuell geht das ja in der aktiven Tabelle über "Speichern unter .."
Optimal wäre ein Knöpflein ... und schwupp wäre alles zusammen erledigt!

Da ich keinerlei Erfahrung mit Makros habe , schon gleich gar nicht mit Phyton, hoffte ich hier eigentlich 'verständliche' Hilfe zu bekommen.
Aber ich glaube, ich werde mich jetzt einfach auf Einzelschritte konzentrieren und mich einfach selbst durchwühlen.

Trotzdem Danke

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: 2 Tabellen vereinigen und Leerzeilen vermeiden/eliminier

Beitrag von balu » Mi 13. Feb 2013, 02:53

Hallo gnet,

na dann wolln ma mal weiter machen, und uns auf das Wesentliche konzentrieren, bevor wir noch 5 Km und 5 Wochen weiter diskutieren :lol:.

Du wolltest die Blätter TabAnr & TabAbr gefiltert zusammen in einem Blatt aufgelistet haben.
Bitte schön, ist im Anhang :D.

Bei all deinen Erklärungen hast Du ein Punkt vergessen gehabt genauer zu defenieren.
Was für Filtereinstellungen nimmst Du vor, wenn Du von Hand als CSV speicherst?
Wenn Du das noch genau beschreibst, dann kann ich das noch in das Makro mit einbauen. Denn dann geht auch das noch automatisch, wenn Du auf den Button klickst. Doch so filtert und "verschmelzt" der Button nur, nicht mehr und nicht weniger.

Soll der Dateiname für die CSV automatisch mit bestimmten Namen-Parameter erstellt werden, in der Art von z.B. XXXXXX.AktuellesDatum.csv?

Noch ein wichtiger Hinweis zu der Datei.
Du darfst die Namen der Tabellenblätter nicht ändern! Sonst funktioniert das Makro nicht.



Gruß
balu
Dateianhänge
Muster_csv_MAKRO_Button_v1.ods
(14.2 KiB) 318-mal heruntergeladen

gnet
Beiträge: 10
Registriert: Di 5. Feb 2013, 10:46
Wohnort: Bayern

Re: 2 Tabellen vereinigen und Leerzeilen vermeiden/eliminier

Beitrag von gnet » Mi 13. Feb 2013, 09:02

Hallo balu,

vielen, vielen lieben Dank erstmal für Deine Hilfe & Arbeit :D
Bin momentan leider etwas angespannt und kann auch erstmal nur noch jetzt antworten, dann ist mind. bis zum Wochenende erstmal Schluß.
Vielleicht ist das auch der Grund, warum Du glaubst, daß ich evtl. ........... :oops: Dickes Sorry :(

ACHTUNG!! AB hier geändert, falls schon jemand vor 10 Uhr gelesen haben sollte:
Nun zum wesentlichen:
1. Bisher habe die 'Inhalte' der beiden Tabellen zusätzlich umkopiert (--> Inhalte nur 'Text' einfügen, sonst funktioniert der nachfolgende Standardfilter ja nicht!)
2. Dann habe ich die beiden Tabellen wie beschrieben gefiltert (Daten -> Filter -> Standardfilter -> Spalte A -> - nicht leer -)
3. Die beiden Ergebnisse dann manuell in die dritte "TabExp" untereinander kopiert
4. Mit 'Speichern unter' und den Standard-CSV-Vorgaben als "TabExp.csv' gespeichert
Dass der 1. Schriit eigentlich sinnlos ist, ist mir klar, aber irgendwie muss ich die Formeln ja aus den Zellen kriegen, sonst kann ich nicht nach leeren Zeilen filtern.
Und vom Rest hoffe ich, ihnirgendwie automatisieren zu können.

Habe Dein Makro und die Schaltfläche nun in mein Sheet einkopiert, die Tabelle "TabExp" in "CSV_Export" umbenannt und gestartet:
Leider tut es nicht ganz das, was es soll, da ich ja in den Felder von TabAnr und TabAbr logischerweise Formeln stehen habe, keine Werte.
Somit werden die Formeln kopiert, die Tabellenbezüge ganz Office-Like auch verschoben und ich habe ein 'leeres' Ergebnis, da die nun ausgewertete Tabelle an dieser Stelle eine leere Spalte hat.
Wie die Formeln aussehen und das die leeren Zeile somit durch ein "" erzeugt haben, hatte ich ja in den Mustertabellen angefügt, damit man mein 'Original' nachvollziehen kann.

Es müßten also die Ergebnisse als Text in "CSV_Export" einkopiert werden, oder ohne Umweg, gleich in ein entsprechendes CSV-File.
Mal schauen, vielleicht schaffe ich es am WE oder so, eine Arbeitsmappe zu basteln, die auch einen Ausschnitt aus der Herkunftstabelle mit Werten enthält, dann sieht man es besser.

Nochmals vielen Dank und bis zum WE oder so
Gruß
gnet :D

balu
* LO-Experte *
Beiträge: 370
Registriert: Mi 1. Jun 2011, 16:21

Re: 2 Tabellen vereinigen und Leerzeilen vermeiden/eliminier

Beitrag von balu » Mi 13. Feb 2013, 19:21

Hallo gnet,

das mit den Formeln hatte ich vollkommen vergessen. :oops:
Vielleicht ist das auch der Grund, warum Du glaubst, daß ich evtl. ........... :oops:
Evtl was!?
Ich hatte nicht ausführlich auf deinen vorletzten Beitrag geantwortet, weil es schon früh am Morgen war, und ich noch was besseres vorhatte, nämlich Schlafen gehen :lol:

Dickes Sorry :(
Weswegen?
Es gibt keinen Grund das Du dich entschuldigen musst.



Na das war ja heute morgen was janz dolles jewesen. Da hatte ich deinen Beitrag gelesen, und ein paar doch wichtige Infos für mich gesehen. Doch als ich nach dem Schnee räumen mir den Beitrag noch mal durchgelesen hatte, waren diese Infos einfach wech. Ja, es war dann mittlerweile nach 10 Uhr.

In der alten Beitragsversion stand da irgendwas mit "... Zeile 47 ... nicht gut...", aber was genau, das weiß ich nicht mehr. Das solltest Du noch mal wiederholen, was Du da gemeint hast.


Deine Wünsche kann ich noch nicht so wirklich gut und einfach in die Tat umsetzen, aber dennoch habe ich es mittels *Trick 17 mit Selbstauslöser* hinbekommen. Wie der *Trick....* vom Prinzip aus her funktioniert, das habe ich dir in der Datei im Blatt "CSV_erstellen" im groben beschrieben.


Noch kurz erklärt was sich geändert hat, beziehungsweise was hinzu gekommen ist.
  • Das Thema Formeln stellt kein Problem mehr da. Vorausgesetzt das in TabAnr & TabAbr nur in der Spalte A Daten samt Formeln stehen.
  • Das Blatt "CSV_export" heißt nun "CSV_erstellen". Das ist so gesehen die Schaltzentrale um die CSV zu erstellen.
  • Die CSV-Daten werden in eine neue, leere Datei geschrieben, gespeichert und geschlossen.
  • Ein paar weiterführende Infos findest Du im Blatt "CSV_erstellen".
Ich werd dann mal bis zum Wochenende warten, und für dich hoffen das Du dann wieder etwas erholter bist. :)



Gruß
balu
Dateianhänge
CSV-Daten_exportieren_Komplett_2.ods
(24.26 KiB) 323-mal heruntergeladen

gnet
Beiträge: 10
Registriert: Di 5. Feb 2013, 10:46
Wohnort: Bayern

Re: 2 Tabellen vereinigen und Leerzeilen vermeiden/eliminier

Beitrag von gnet » Do 14. Feb 2013, 08:58

Hallo balu,

und wieder ein dickes Danke :D
Habe nur kurz Zeit (war dann doch trotz Zeitmangel zu neugierig :lol: ) und habe mir das kurz angeschaut.

Es sieht jetzt echt gut aus, bis auf einen wichtigen Punkt (ehemals Zeile 47, jetzt Zeile 50):
--> hier steht die Kopfzeile aus TabAbr, die muss aber raus, da sonst der Import abbricht!
==> evtl. erst ab Zeile 2 loslegen?

Aber da gibt es da noch eine 'Ungereimtheit' :?:
1. Woher kommen die Zeilen 47-49? :?:
--> Da sind in Deiner TabAnr nochmals die Zeilen 45,46,46
2. Die Zeilen ab 51 passen wieder :lol:

Ich geh mal davon aus, daß Dir hier ein kleines Malheur beim Daten auswerten/zusammenfassen passiert ist, also bis auf die Bereinigung in Deiner TabAnr nichts notwendig ist.
Den Rest scheint Dein Makro ja so zu machen, wie ich es mir vorstelle :D

Aber die Zeit es genau zu prüfen, das MaAkro mal anzuschauen und auch in meiner Anwendung zu prüfen habe ich erst frühestens Sonntag :(

Danke nochmals und eine schöne Restwoche .. ich habe FÄDDISCH :-))
:D :D :D gnet :D :D :D


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