Clever-Excel-Forum

Normale Version: Aus einer CSV-Datei ein bestimmtes Layout erzeugen mit Datenauswertung
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo miteinander

Ich probiere es nochmal bei euch - vielleicht diesmal mit etwas "mehr Glück".


Im Anhang sind zwei Dateien, aus dem CSV.Datei soll ich gewissen Daten haben (erklärt - wenn aufgemacht wird)
und als Resultat in einer anderer Tabelle/Mappe erzeugen können.

Für einigen von euch ist es sehr simpel, für mich eben leider nicht.

Kann jemand mir da helfen?

Besten Dank im Voraus :21:
Hi,

also ich lese Dein Problem zum zweiten Mal.
Diesmal zwar anders formuliert, aber dennoch mit derselben Wahrnehmung.

Ich weiß das es schwierig sein kann, sein Problem zu erklären.
Aber erzähl doch mal an einem praktischen Beispiel wie Dein Ablauf und welches Ergebnis gewünscht ist.
Also

Ich will irgendeine Makro haben, welche eine Bestimmte layout erzeugt aus den Daten - welche in CSV-DATEI stehen.
Am einfachste wäre es per Knopfdruck, welche diese Daten nach folgende Kriterien auswertet.

Kriterien sind folgendes:

1. Datum [SPALTE A oder B] - yyyymmdd oder dd.mm.yyyy
2. Auftragstour [SPALTE C] - sind zahlen zwischen 134-135 & 985-994
3. Versandstelle [SPALTE E] - sind Zahlen 501 bis 520 + 2005, 2010, 2020 ////// Zu verstehen: Alle Versandstellen die neben einer Tour stehen sind eine Teilmenge der Tour, das heisst eine Tour enthält in der Regel mehreren Versandstellen. Was sind Versandstellen? - Zahlen, welche bestimmte Produktgruppen identifizieren (interne Zwecke) - weiter siehe unten***
4. LMBE (Liefermenge in Bestelleinheiten) [SPALTE R] - Anzahl - (einheitlich Stück)

Am Ende möchte ich die Teilsummen der 3 Gruppen nebeneinander haben
***1. Gruppe muss enthalten: Anzahl Stück nur von Versandstelle 518 - 2. Gruppe muss enthalten: Anzahl Stück nur von Versandstelle 501 3. Gruppe muss enthalten: alle anderen Versandstellen und deren Summe.

Ist es etwas besser so?
Ah jetzt ja.

Mit VBA lösbar, aber scheint mir via PowerQuery praktikabler. Vorallem für Dich pflegbarer.
Vielleicht meldet sich noch ein PQler.

Haste die Anfrage lediglich in diesem Forum oder noch woanders gestellt?
Nur da.

Wo gibt es noch sonst solche Forums?

Danke für dein Input gleich.

Mfg, Daniel
Mein Post war nicht als Werbung gedacht, sondern um pot. Crossposting zu erfragen, damit der PQler gleich weiß wo er dran ist.
Nicht das hier jemand seine Zeit opfert und an andere Stelle beschäftigt sich schon länger jemand mit einer Lösung.

Würde bedeuten das einer nicht nur kostenlos arbeitet sondern auch noch umsonst.
Du brauchst in diesem Fall ein Dictionary.

Schau mal: http://www.snb-vba.eu/VBA_Dictionary_en.html
Hallo junger freund

bitte nicht so ungeduldig sein - Rom wurde nicht an einem Tag erbaut!!!

Deine Anfrage ist bereits in Arbeit, aber als alter Mann mit 69 benutze ich die Worte von Sascha Schrammels Vogel - "bitte Hetz mich nicht!"
Das ist bitte als humorvolles Zitat gemeint, und nicht als böse Kritik oder Beleidigung!

Schau dir bitte mal meine Lösung an. Das Makro ist in der Datei "Beispiel Layout".  Zur Information:
Zum auflisten und auswerten muss die CSV Datei geöffnet sein, denn die neuen CSV Dateien heissen ja sicher nicht mehr "Spielwiese DaHu_4496". 
Das wird sich doch jedesmal aendern, oder???  Das Makro prüft ob es eine offen Datei auf den Namen "Spielwiese" gibt, übernimmt deren Daten!  Ohne die Endung zu Prüfen!!  Nur so konnte ich sicherstellen das du mit dem Makro alle CSV Dateien auswerten kannst!!

Zuerst werden alle gewünschten Daten aufgelistet, denn mir fiel auf das die zum auswerten nicht günstig sortiert sind! Nach dem Sortieren werden die Summen in D, E, F addiert, Summe steht in F, die überflüssigen Zeilen werden gelöscht. Nach dem 2. Sortieren siehst du dann nur das fertige Ergebnis.  Die Zwischenschritte sind nicht zu sehen.  ScreenUpdating = False!

Schau bitte zuerst mal ob das Ergebnis so rauskommt wie du es haben willst??  Ist ja ein Erstversuch von mir ....
Public Const ZielTab = "Beispiel-Layout"     'Hier Original Tabellen Name angeben
Public Const Zeile1 = 10                     'Hier 1.Zeile im Layout angeben!

Im Modul1 findest du diese Const Anweisungen. Bei ZielTab must du den Namen deiner Ziel Tabelle in der Original Datei angeben. Zeile1 ist die 1. Zeile wo Daten reingeschrieben werden. Im Beispiel habe ich Zeile 10 gewaehlt, weil deine Überschrift in der Zeile 6 steht. Das habe ich so gelassen. Zeile 10 kannst du bitte selbst aendern. 

Ich weiss nicht ob die Lösung so deinen Vorstellungen entspricht.  Ich warte mal dein Rückmeldung ab ....  Viel Spass beim testen!

mfg  Gast 123
Hallo "alter Freund"


Du hast völlig Recht, Entschuldigung dafür - "jeder seine Probleme scheint die grösste Probleme zu sein."  

Zitate sind immer willkommen bei mir!

Erstens: Danke für deine Interesse und auch die Bemühungen, sehr hilfreich von Dir!

getestet, Anmerkungen dazu:

- Ich habe einen "neuen" csv-Datei aufgemacht - als Beispiel von 08.09-09.09.19. (werde ein aktualisiertes Datei unter gleiche Dateiname hochladen) und den Knopf gedruckt - 
Die neuen Dateien werden zugerechnet - super.
Frage diesbezüglich: Wäre es möglich, dass mit einem anderem Knopf evtl. die Zwischenablage gelöscht wird? (Daten welche bereits angezeigt worden sind werden im Prinzip ein-bis zweimal gebraucht und danach sind die nur "störend")

- Habe was festgestellt und weiss nicht was das für ein Wert sein kann! Irgendwie gibt es eine zweite Zeile bei der Tour mit 2 zusätzlichen Werten (SPALTE F;G) (siehe Beispielfoto)



Den Rest kann ich erst später überprüfen - sieht wie gesagt aber sehr gut aus!

Einen schönen Tag - ich melde mich bald wieder
Hallo junger freund

es freut mich das meine Arbeit angekommen, habe im Augenblick ernste Probleme mit Internet, war 2 Tage weg.  Strassenbauarbeiten ...!

Zitat:Irgendwie gibt es eine zweite Zeile 

Habe im Augenblick noch nicht verstanden welche 2. Zeile damit gemeint ist. evtl. in Beispieldatei noch mal von Hand markieren. Wenn ich Daten weglassen soll kein Problem, muss mir dann aber im Hintergrund merken welche Daten damit gemeint sind.  Sie evtl. in Hilfsspalten zw.speichern. Oder in der Spalte A das Datum beim Auswerten mit berücksichtigen:   "20190801"

Ich kann mich da nach dir richten, muss nur wissen wie ich das programmieren soll. Denk dir bitte was sinnvolles aus, denn du arbeitest ja in der Praxis damit

mfg  Gast 123
Seiten: 1 2 3