Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1944to1948
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA mehrere Daten kopieren, eintragen und speichern

VBA mehrere Daten kopieren, eintragen und speichern
26.09.2023 08:05:18
Eva-Maria von Nederland
Hallo Excel Gemeinde,
ich habe bisher bei uns in der Firma alles mit Excel soweit hinbekommen, aber nun bin ich fast am verzweifeln!
Folgendes Szenario: Ich habe eine Arbeitsmappe welche ich als Quelldatei bezeichne, in dieser Mappe stehen alle Einsatzorte, die Namen der Teilnhmer, wann diese anfangen und wieviele Stunden sie anwesend sind.
Die zweite Arbeitsmappe, ich nenne diese zieldatei, soll bestimmte Daten aus der Quelle aufnehmen, z.B. den Namen, die tägliche Anfangszeit, die Stundenanzahl und in die entsprechenden Felder eintragen. Soweit, so gut, es sind 154 Datensätze, die Zieldatei muss sich nach jedem füllen wieder leeren, nachdem diese gespeichert wurde!

Hat hier jemand eine Lösung, oder einen Lösungsansatz? Das wäre echt super! Ich baue auf euch! Hier ist eine Beispieldatei!
https://www.herber.de/bbs/user/163113.zip

Lieben Dank und bis bald....

Eva

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA mehrere Daten kopieren, eintragen und speichern
26.09.2023 09:33:05
ExcelProbierer
Hallo Eva-Maria von Nederland,

nur mal so schnell, ob ich Dein Anliegen überhaupt richtig verstanden habe:

:prog_start
abzuarbeitende_zeile=2
:loop_anfang
nehme Daten aus der abzuarbeitende_zeile aus komplett_blanko und trage diese Daten ein in der testmappe.xls in das Tabellenblatt SAZR
[Testmappe.xlsx]SAZR!$D$6='[komplett blanko.xlsx]komplett'!$B2&", "&'[komplett blanko.xlsx]komplett'!$C2
[Testmappe.xlsx]SAZR!$D$9='[komplett blanko.xlsx]komplett'!$V2
... (solange bis alle Daten aus dieser Zeile eingetragen sind)
"speichere" die Datei Testmappe.xlsx unter dem Namen [Testmappe.xlsx]SAZR!$D$6&date&"_"&time (falls zwei Personen denselben Namen haben)
abzuarbeitende_zeile=abzuarbeitende_zeile+1
if INDIREKT("'[komplett blanko.xlsx]komplett'!$B"&abzuarbeitende_zeile)="" then // sprich der Name in der als nächstes neu abzuarbeitende_zeile ist leer
exit loop
endif
loop_ende

Das mit dem Leeren der Zieldatei erübrigt sich doch, da alle Zellen beim erneuten Loop-Durchlauf mit neuen (bzw. wenn die leer sind, dann eben mit "null") Daten überschrieben werden - oder?

Hab ich das richtig verstanden? Wenn ja, wäre das mein Lösungsansatz ;-)

VG
Stefan
Anzeige
AW: VBA mehrere Daten kopieren, eintragen und speichern
26.09.2023 09:47:05
Eva-Maria von Nederland
Hallo Stefan

danke für deine Nachricht!
Ja, im Grunde ist dein Ansatz richtig, aber es sollen nicht alle Daten aus der gesamten Zeile der Quelle eingetragen werden, sondern nur ausgewählte Daten, wie zum Beispiel der Name, der tägliche Beginn, die tägliche Endzeit!
Ich glaube das macht das ganze etwas schwieriger, oder?

Danke nochmal.....

Liebe Grüße

Eva
AW: VBA mehrere Daten kopieren, eintragen und speichern
26.09.2023 10:25:44
ExcelProbierer
Hallo Eva,

wenn Du direkt nach
[Testmappe.xlsx]SAZR!$D$6='[komplett blanko.xlsx]komplett'!$B2&", "&'[komplett blanko.xlsx]komplett'!$C2
[Testmappe.xlsx]SAZR!$D$9='[komplett blanko.xlsx]komplett'!$V2

also ohne
... (solange bis alle Daten aus dieser Zeile eingetragen sind)

speicherst, sind eben nur Nachname Komma Vorname und gültig_ab (das in Deiner [komplett blanko.xlsx] ja Beginn heisst) eingetragen
und dann wird gespeichert und in der nächsten Zeile der [komplett blanko.xlsx] weitergemacht, solange bis der Name in der nächsten Zeile leer ist.

D.h. Vorschlag Spalte V aus [komplett blanko.xlsx] umbenennen in gueltig_ab, dann verwechselt man sie nicht mit Beginn (was Arbeitsbeginn wäre).

Und hast Du schon Erfahrung mit intelligenten Tabellen?
Wäre mal ein Gedanke. Erstelle eine intelligente Tabelle aus komplett blanko.xlsx (z.B. mit dem Namen "Tab_Daten"), dann wäre der Code besser lesbar, weil man sofort sieht, was gemeint ist (weiter wäre der Datenbestand automatisch erhöht, wenn Du eine Zeile anfügst, ...):
[Testmappe.xlsx]SAZR!$D$6='[komplett blanko.xlsx]komplett'!$B2&", "&'[komplett blanko.xlsx]komplett'!$C2
[Testmappe.xlsx]SAZR!$D$9='[komplett blanko.xlsx]komplett'!$V2

hiesse dann
[Testmappe.xlsx]SAZR!$D$6=Tab_Daten[@[Nachname]]&", "&Tab_Daten[@[Vorname]]
[Testmappe.xlsx]SAZR!$D$9=Tab_Daten[@[gueltig_ab]]


VG
Stefan
Anzeige
AW: VBA mehrere Daten kopieren, eintragen und speichern
26.09.2023 10:30:51
Eva-Maria von Nederland
Hallo nochmal,

nein, ich habe keinerlei Erfahrung mit intelligenten Tabellen!
Lässt sich das ganze damit einfacher lösen oder was ist der Vorteil Stefan?

Danke dir....

Liebe Grüße
Eva
AW: VBA mehrere Daten kopieren, eintragen und speichern
26.09.2023 10:37:29
ExcelProbierer
Hallo Eva,

Vorteil ist wie schon geschrieben: leichter lesbar / dewegen auch leichter zu ändern (wenn später mal was anderes gewünscht ist) / reduzier- und erweiterbar / ...

kuckst Du hier: https://www.google.com/search?client=firefox-b-d&q=excel+vorteil+intelligente+tabelle

Nachteil: bei strukturierten Verweisen (also "@" für "Daten aus aktueller Zeile nehmen") auf andere Excel-Dateien müssen diese geöffnet sein (ist aber wohl nicht so tragisch ;-)

VG
Stefan
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige