online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Chris-1988 vom 17.09.2022, 10:17 Options

Lösung

Daten aus Excel-Formular in anderes Excel-Formular importieren

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


Antwort schreiben

Antwort 1 von Beverly vom 17.09.2022, 11:14 Options

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

Antwort 2 von Hajo_Zi vom 17.09.2022, 11:16 Options

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

Antwort 3 von Chris-1988 vom 17.09.2022, 12:14 Options

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

Antwort 4 von coros vom 18.09.2022, 06:02 Options

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
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 5 von Chris-1988 vom 23.09.2022, 07:54 Options

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

Antwort 6 von Chris-1988 vom 23.09.2022, 10:40 Options

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

Greetz

Antwort 7 von coros vom 23.09.2022, 13:43 Options

Hallo Chris,

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

Zitat:
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
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 8 von Chris-1988 vom 24.09.2022, 08:55 Options

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.
Zitat:
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

Antwort 9 von Beverly vom 24.09.2022, 09:54 Options

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

Antwort 10 von Chris-1988 vom 29.09.2022, 08:40 Options

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

Antwort 11 von coros vom 29.09.2022, 19:02 Options

Hallo Chris,

dann sieht der Code wie folgt aus:

Sub Kopieren()
    ThisWorkbook.Worksheets("Tabelle1").Range("AB25").Copy
        Workbooks("Zielmappe.xls").Worksheets("Tabelle1").Range("O3").PasteSpecial Paste:=xlPasteValues
End Sub

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du
ein Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 12 von Chris-1988 vom 30.09.2022, 11:33 Options

Guten Morgen,
super Sache. Es klappt. Ich war schon bei ganze anderen Variationen die ich gefunden hatte und eigtl war es so einfach. Ich dannke euch beiden. Habe da jetzt noch einen Button eingebaut, sodass es per Klick übertragen wird.

Private Sub CommandButton1_Click()
    ThisWorkbook.Worksheets("Aufmaßanfrage").Range("AB25").Copy
        Workbooks("Aufmassdatei.xls").Worksheets("Aufmassdatei").Range("N985").PasteSpecial Paste:=xlPasteValues
        
    ThisWorkbook.Worksheets("Aufmaßanfrage").Range("L15").Copy
        Workbooks("Aufmassdatei.xls").Worksheets("Aufmassdatei").Range("Q985").PasteSpecial Paste:=xlPasteValues
End Sub


Klappt auch wunderbar.
Ein kleines Problem gibts da jetzt noch. Immer wenn ein neues Formular ausgefüllt wird und die Werte übertragen werden, soll der in dei letzte Zeile der Tabelle springen. Damit die Werte aus dem letzten Formular nicht überschrieben werden. Ist dies auch möglich?

Vielen Dank nochmals.

Greetz Chris

Antwort 13 von Chris-1988 vom 30.09.2022, 11:48 Options

Problem gelöst ;)



Private Sub CommandButton1_Click()
    Dim lngLast As Long
    
    ThisWorkbook.Worksheets("Aufmaßanfrage").Range("AB25").Copy
        lngLast = Workbooks("Aufmassdatei.xls").Worksheets("Aufmassdatei").Cells(Rows.Count, "N").End(xlUp).Row + 1

        Workbooks("Aufmassdatei.xls").Worksheets("Aufmassdatei").Range("N" & lngLast).PasteSpecial Paste:=xlPasteValues
        
    ThisWorkbook.Worksheets("Aufmaßanfrage").Range("L15").Copy
        Workbooks("Aufmassdatei.xls").Worksheets("Aufmassdatei").Range("Q985").PasteSpecial Paste:=xlPasteValues
End Sub

Ähnliche Themen

VBA EXCEL Formular über Tastatur steuern
tan-a-gogo  26.03.2009 - 225 Hits - 1 Antwort

Daten aus Excel in ein Word Formular übertragen
kordesh  06.07.2009 - 322 Hits - 2 Antworten

Formular + Summe Excel 2007
catag  07.08.2009 - 164 Hits - 5 Antworten

Makro zum Importieren von Daten aus Excel-Dateien
JustinCase  03.11.2009 - 726 Hits - 13 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026