5.1k Aufrufe
Gefragt in Tabellenkalkulation von
Guten Morgen,
habe folgendes Problem, ich möchte gerne Daten aus einem Excel-Formular ''Aufmaßanfrage'' in ein anderes Excel-Formular ''Aufmassdatei'' übertragen. Dabei müssen die einzelnen Daten aus ''Aufmaßanfrage'' in bestimmte Felder in der Datei ''Aufmassdatei'' übertragen werden.
Als Beispiel:
Der Wert in Feld ''AB25'' aus dem Formular ''Aufmaßanfrage'' soll nach Feld ''O3'' des Formulares ''Aufmassdatei'' übertragen werden.

Habe mich schon einige Themen hier durchgelesen, aber da ich Anfänger in diesem Bereich bin, bin ich nicht wirklich weiter gekommen.
Wäre super wenn mir da jmd helfen könnte.
Danke schonmal im vorraus.

Greetz Chris

13 Antworten

0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Chris,

müssen die Daten fest eingetragen werden? Andernfalls wäre es mit Bezugs-Formeln lösbar.
Was verstehst du unter einem Formular: Tabellenblatt in ein und der selben Arbeitsmappe oder Tabellenblätter in verschiedenen Arbeitsmappen (Dateien)?

Bis später,
Karin
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Chris,

Du schreibst von einer UserForm in einen andere übertragen, aber unten liest sich das wie in Tabelle eintragen?
in der ersten UserForm
Userform2.Txt_Datum =Txt_Datum

Gruß Hajo
0 Punkte
Beantwortet von
Also es sind zwei verschiedene Dateien. Die eine Datei besteht aus einem Formular, in diesem müssen bestimmte Felder ausgefüllt werden. Wenn diese Felder ausgefüllt sind sollen sie in die andere Datei übertragen werden. Diese Datei besteht aus einer Tabelle. Kurz gesagt, die Daten aus den Feldern in die dafür vorgesehene Spalte der Tabelle in der anderen Datei übertragen.

Greetz Chris
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Chris,
mal ins Blaue ohne genau zu wissen, was Du mit Formular meinst.

Kopiere das Makro in ein StandardModul und starte es z.B. über eine Befehlsschaltfläche
Teste das Makro aber bitte in einer Testdatei und nicht gleich in Deiner Originaldatei.

Option Explicit

Sub Kopieren()
Workbooks("Quelldatei").Sheets("Aufmaßanfrage").Range("AB25").Copy _
Workbooks("Zieldatei").Sheets("Aufmassdatei").Range("O3")
End Sub
Anstelle von Quell- und Zieldatei in dem Makro müssen die Blattnamen eingetragen werden.

Weitere Erklärungen schenke ich mir, um Dir mal zu zeigen, wie es einem geht, wenn er nur ein paar Infos erhält und auf Nachfragen von Helfenden nicht reagiert (Frage von Beverly, was Du mit Formular meinst).

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von
Guten Morgen,
etwas spät meine Antwort aber ich war bis gestern auf einem Seminar. Erstmal Danke für die Hilfe. Mit Formular meine ich in dem Fall ein Excelblatt in dem bestimmte Felder vorgegeben sind, in denen der Empfänger bestimmte Angaben zu der Aufmaßanfrage machen muss z.B. PLZ, Ort, Straße oder E-Mail.
Wenn ich dein Makro einfügen will, steht da:

Laufzeitfehler'9'
Index außerhalb des gültigen Bereichs

Greetz Chris
0 Punkte
Beantwortet von
Habe jetzt nochmal nachgelesen und etwas gefunden wo steht, dass man das Dokument erst aktivieren oder selektieren muss/sollte. Ist das richtig?

Greetz
0 Punkte
Beantwortet von coros Experte (4k Punkte)
Hallo Chris,

sorry, ich habe gerade gesehen, dass in meiner Erklärung in AW4

Anstelle von Quell- und Zieldatei in dem Makro müssen die Blattnamen eingetragen werden.


ein Fehler ist. Anstelle von "Blattnamen" hätte dort "Dateinamen stehen müssen. Du musst also anstelle von Quell- und Zieldatei den vollständigen Dateinamen mit der Endung ".xls" eintragen. Dann sollte auch kein Laufzeitfehler erfolgen.

Aber wie bereits auch erwähnt, war das Makro ein Schuss ins Blaue und kann u.U. nicht 1:1 für Dich übernommen werden. Du solltest also den 2. Teil meiner AW4 mal beherzigen und etwas mehr über Dein Vorhaben und Deine Datei(en) schreiben.

MfG,
Oliver
[sub]Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du[/sub]
[sup] ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.[/sup]
0 Punkte
Beantwortet von
Morgen Oliver,

ich hatte es auch mit den Dateinamen versucht, jedoch kommt dann auch wieder der selbe Fehler.
Habe vermutet, dass es in meiner AW5 evtl. deutlich wird was ich mit Formular meine und somit auch der Ablauf.
Mit Formular meine ich in dem Fall ein Excelblatt in dem bestimmte Felder vorgegeben sind, in denen der Empfänger bestimmte Angaben zu der Aufmaßanfrage machen muss z.B. PLZ, Ort, Straße oder E-Mail.

Die oben genannten Angaben sollen dann kopiert werden und in die zweite Datei eingefügt werden. Die erste Datei besteht aus einem Aufmaßanfrage-Formular und die zweite Datei besteht aus einer Tabelle mit verschiedenen Spalten, die die gleiche Bezeichnungen haben wie die Felder des Formulares aus der ersten Datei.
Hoffe das war jetzt verständlicher. Ich danke dir schonmal für deine Mühe.

Greetz Chris
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Chris,

in welcher Datei soll der Code ausgeführt werden - Aufmaßdatei oder Aufmaßanfrage?
Sub Kopieren()
ThisWorkbook.Worksheets("Tabelle1").Range("AB25").Copy _
Workbooks("Zielmappe.xls").Worksheets("Tabelle1").Range("O3")
End Sub

ThisWorkbook ist die Arbeitsmappe mit dem Code und daraus wird in die andere Arbeitsmappe kopiert.

Bis später,
Karin
0 Punkte
Beantwortet von
Guten Morgen,
ich habe deinen Vorschlag ausprobiert Karin und es funktioniert. Danke sehr. Das ist schonmal ein Erfolg :). Ich habe jedoch jetzt das Problem, dass er die Hintergrundfarbe mit kopiert. Diese ist in der ersten Datei grau und in der zweiten grün. Ist es möglich, dass diese nicht mit übernommen wird?

Greetz Chris
...