Clever-Excel-Forum

Normale Version: Verweis anhand ID?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen,
bitte entschuldigt falls es dieses oder ein ähnliches Thema bereits gibt. Ich suche nun schon seit gut 3-4 Stunden nach einer Lösung, aber finde nichts.

Zu meinem Problem:

Ich möchte eine Datei (Anhang "Beispiel_Auftrag.csv") in ein bestimmtes Format bringen (Beispiel "Upload_Beispiel.csv"). Die "Beispiel_Auftrag.csv" hat ein relativ komisches Format, in der ersten Zeile stehen hinter "IH" diverse Kundendaten, wie z.B. Name, Straße usw. Ab der zweiten Zeile stehen hinter "ID" die Artikeldaten, sprich Artikelnummer, Preis usw. Je nach Auftrag steht entweder nur eine "ID" Zeile unter "IH", es können aber auch mehr sein.
Ein Auftrag mit 3 verschiedenen Artikeln sollte dann in der Upload Liste nicht in einer Zeile, sondern auf drei Zeilen verteilt stehen. Belegnummer, Name, Straße PLZ und Ort bleiben in jeder Zeile gleich, nur die Artikelnummer, Menge und Beschreibung unterscheiden sich je nach Artikel. Danach kommt dann der nächste Auftrag.

Anhand von "IH" und "ID" wäre es sicherlich möglich die jeweiligen Werte z.B. per SVerweis zuzuordnen, aber leider weiß ich nicht wie ich das bewerkstelligen kann.
Vermutlich geht das über die VBA, leider bin ich da noch Anfänger.

Ich hoffe Ihr könnt mein Problem verstehen, es ist relativ komplex. Wie sollte ich eurer Meinung nach am besten vorgehen?
VBA Code hab ich keinen.
Hallöchen,

ein Forum soll ja bevorzugt Hilfe zur Selbsthilfe geben und nicht in jedem Fall fertige Lösungen liefern. Daher erst mal ein paar Ansätze. Bei Excelformeln.de gibt es ein Beispiel zur Auflistung von Zeileneinträgen untereinander:
http://www.herber.de/excelformeln und bitte suchen .../formeln.html?welcher=282
Das wäre schon mal ein Ansatz, trifft es aber nicht ganz. Du hast ja Bestandteile, die untereinander kommen, und dann soll einiges daneben. Da müsste man die Formel anpassen und vielleicht mit SVERWEIS dann Daten komplettieren oder ..

Für eine VBA - Lösung würde ich den Makrorekorder nutzen und wie folgt vorgehen.
Erstelle erst mal eine Sicherheitskopie der Datei

Gehe im Datenblatt auf irgendeine Zelle, nur nicht in die erste Datenzeile
Erstelle ein neues Blatt und benenne es z.B. in TAB0 um.
Starte den Makrorekorder.
Kopiere die Daten der ersten Datenzeile in gewünschter Anordnung in das Blatt Tab0
Kopiere auch so viele Datenzellen, wie maximal Artikel zu erwarten sind - auch wenn die in der ersten Zeile nicht belegt sind.
Beende den Makrorekorder.

In den Zellen neben den eingefügten Daten kannst Du nun z.B. per Formel die Daten zusammenfassen und die senkrechten Striche einfügen.

Starte den Makrorekorder erneut
Kopiere das Blatt
Kopiere die zusammengefassten Daten nach Spalte A - mit Inhalte einfügen - Werte (123 im Kontextmenü)
Lösche den Rest
Beende den Makrorekorder.

Zum Test löschst Du mal auf dem Tab0 die eingefügten Daten (nicht die Formeln!) und führst beide Makros aus.
Wenn der Ansatz und das entstandene Ergebnis für den ersten Datensatz passt, kannst Du hier nochmal fragen, wie man das hinbekommt, dass es auch für die anderen Datenzeilen funktioniert Smile