[VBA] Daten von einer Datei in eine andere übertragen
#1
Hallo zusammen,

ich hoffe ihr könnt mir hier helfen. Folgende Aufgabe:

In einer Excel Datei gibt es verschiedene Parameter (Name, Datum, Nummern). Diese Parameter sollen automatisiert in eine andere Exceldatei (diese soll einfach über ein öffnen Menü ausgewählt werden) übertragen werden.
Jetzt kommen aber die Probleme:

1. Es ist eine relativ lange Liste, ca. 600 Einträge

2. Die Einträge sollen richtig zugeordnet werden. Spalte A und Spalte B bilden zusammen einen Namen mit Nummer der eindeutig ist und in beiden Dateien jeweils nur einmal vorkommt.
Die dazugehörigen Namen und Datumsangaben sollen dann in die andere Exceldatei untereinander eingetragen werden.

3. Das Makro soll überprüfen ob die zu eingetragenen Daten schon eingetragen sind. Falls nicht soll in die nächsten freien Zellen (untereinander) die neuen Daten eingetragen werden. Falls vorhanden soll nichts gemacht werden.

Da das zu erklären etwas schwieriger ist, habe ich 2 Beispieldateien angelegt und hoffe das diese Dateien die Aufgabe etwas verständlicher machen.

Danke


Angehängte Dateien
.xlsx   Beispieldatei 1.xlsx (Größe: 9,46 KB / Downloads: 8)
.xlsx   Beispieldatei 2.xlsx (Größe: 12,98 KB / Downloads: 8)
Top
#2
Wenn es die Aufgabe etwas erleichtert, könnte ich auch die ganze Geschichte in nur einer Excel Datei erledigen lassen...

Hoffe meine Erklärung oben ist verständlich...
Top
#3
Es liegt (so glaube ich) weniger am Verständnis Deines Problems. 
Eher daran, dass noch niemand Dein Auftrag/Angebot angenommen hat.

Sind aber auch erst 4Stunden rum...
Top
#4
Hallo DeLaGhetto,

habe da einige Fragen:

In Deiner "Beispieldatei 2" kommt immer wieder der "Nachname 1" vor. Und Datum ist auch keines eingetragen. Daher frage ich: Soll das Datum nicht auch übertragen werden?

Welche Bedeutung hat die "Nummer"? Die kommt ja nirgends vor.

Was ist mit den Zeilen 3, 4, 5 in "Beispieldatei 1"? Da sind keine Namen. Was soll da übertragen werden?

Warum ist in Deiner "Beispieldatei 2" bei Name 2 kein Eintrag?

All diese Fragen würden nicht auftreten, wenn Du eine "Beispieldatei 2" mit den gewünschten Einträgen aus "Beispieldatei 1" reinstellen würdest. Kannst Du das noch machen? Am besten alles in einer Datei.

Das Ganze ist mit Makro lösbar. Dauert aber etwas Zeit. Wie lange dauert es denn jetzt, wenn man alles händisch ausfüllt? 

Gruss, Raoul
Top
#5
Hallo,

erstmal danke, dass du dir die Sachen angeguckt hast und mir hoffentlich helfen willst dabei.

Jetzt zu deinen Fragen, bzw eine etwas genauere Erklärung:

Die Namen in Spalte A und die Nummern in Spalte B (jeweils Beispieldatei 1) sind durchgehend und überall eingetragen. Das Makro soll den Namen in Spalte A und die Nummer in Spalte B zusammensetzten (das heißt zum Beispiel A2 und B2 ergeben zusammen einen eindeutigen Namen). Diesen eindeutigen Namen soll das Makro in der Beispieldatei 2 (Zelle 3) finden.

In Spalte E (Beispieldatei 1) ist ein Nachname eingetragen. Allerdings nicht immer, manchmal sind diese Spalte auch leer. Wenn allerdings ein Nachname eingetragen ist ist auf jeden Fall in Spalte G ein Datum eingetragen.
In Spalte H wiederum kann, muss aber kein Datum eingetragen sein.
Hauptziel des Makros ist es, Spalten E, G und H aus Beispieldatei 1 in die entsprechenden Zeilen (siehe weiter unten) der Beispieldatei 2 zu übertragen.

Diese 2 Dateien dienen dazu, eine Revisionshistorie von Dateien zu führen.
Beispieldatei 1 beschreibt ob eine bestimmte Datei (eindeutiger Name Spalte A und B) zum aktuellen Zeitpunkt von jemandem (Spalte E) bearbeitet wird. Spalte G beschreibt wann diese Bearbeitung angefangen hat und Spalte H wann diese Bearbeitung zu Ende gegangen ist.
Beispieldatei 2 beschreibt die komplette Revisionshistorie aller Dateien aus Beispieldatei 1. Der Name dieser Datei findet sich in Zelle 3 der Beispieldatei 2. Der Name des Bearbeiters befindet sich dann drunter (zum Beispiel Zelle 4, Zelle 6, Zelle 8 usw). Das Startdatum und eventuell das Enddatum der Bearbeitung findet sich dann immer in Zelle 5, Zelle 7, Zelle 9 usw.

Beispieldatei 2 ist so aufgebaut, dass die Dateinamen Horizontal nebeneinander stehen.

Wie oben erwähnt, kann es durchaus vorkommen, dass diese Revisionshistorie (Beispieldatei 2) aktualisiert wird, obwohl es noch kein Enddatum der Bearbeitung aus Beispieldatei 1 gibt. Deswegen kann es sein, dass in der Beispieldatei 2 bei der letzten eingetragenen Revision nicht beide Datumsangaben eingetragen sind. Außerdem kann es vorkommen, dass bestimmte Dateien noch nie revisioniert wurden (deswegen auch in Beispieldatei 2 unter Name 2 keine Eintragung vorhanden).

Im Endeffekt ist das Ziel des Makro folgendes:
Nimm Datei W1, überprüfe ob Name, Start Datum und Start Ende in Revisionshistorie unter W1 eingetragen sind. Falls nicht, trage die Daten unterhalb der letzten Eintragung ein; falls letze Eintragungen mit kopierten Daten übereinstimmen gehe zu Datei W2 usw.

Ich hoffe das erklärt die beiden Beispieldateien besser.

Händische Bearbeitung dauert sehr lange, da viele Daten in Beispieldatei 1 laufend und in willkürlicher Weise (also ohne wirkliches System dahinter) bearbeitet werden.

Danke schon vorab.

So, da ich zugeben muss, dass meine 1. Erklärung von gestern wirklich nicht so toll war, füge ich zur Info eine aktualisierte Beispieldatei 3 ein, die hoffentlich etwas klarer zeigt, wie das am Ende aussehen soll.


Angehängte Dateien
.xlsx   Beispieldatei 3.xlsx (Größe: 13,06 KB / Downloads: 3)
Top
#6
Hallöchen,

mal ohne die Datei angesehen zu haben, könnte man das nicht lösen indem man alle Daten überträgt und dann Duplikate entfernt?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste