Anzeige
Archiv - Navigation
1876to1880
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

Kopieren von Datensätzen

Kopieren von Datensätzen
10.04.2022 17:07:11
Datensätzen
Hallo zusammen
Ich habe mir ein EXCEL erstellt um mir die Adressverwaltung und Reservationsbestätigungen einfacher zu verwalten.
Ausgangslage:
Ich erhalte eine E-Mail, wenn auf meiner Webseite das Formular für eine Reservationsanfrage ausgefüllt wird. In dieser E-Mail ist dann eine csv Datei angehängt, welche ich ein Verzeichnis verschiebe/kopiere.
Anschlissend importiere ich dieses csv File via Schaltfläche (VBA) in mein Adressverwaltungs - EXCEL. Danach kann ich dann direkt eine Bestätigung E-Mail versenden oder das Bestätigung Schreiben drucken.
Das funktioniert soweit ganz gut.
Die zu kopierenden Datensätze beim Import sind fix zur Tabelle Adressverwaltung zugewiesen. Ich habe jetz festgestellt, dass wenn noch eine Mitteilung via Reservationsanfrage mit gegeben wird, das zu importierende EXCEL eine andere Spaltenanordnung hat und so die Datensätze verkehrt kopiert werden.
Kann mir bitte jemand helfen, dass die zu zu kopierenden Datensätze unabhängig der Anordnung dennoch an das richtige Ort kopiert werden.
In der Tabelle "Datei_Import" sind in der Zeile A Spaltenüberschriften. Die gleichen bzw. benötigten Spaltenüberschriften sind auch in der Tabelle "Adressverwaltung" in Zeile A vorhanden.
Was ich also benötige ist ein Script das die Zeile A in "Datei_Import" durchläuft und den jeweils den darunterliegenden Wert in Zeile B ausliest und in "Adressverwaltung" kopiert.
Mein Adressverwaltungs-EXECL und eine csv Import Daten liegen bei.
Ich danke euch schon herzlich für eine Unterstützung.
Gruss Adrian

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kopieren von Datensätzen
10.04.2022 19:08:02
Datensätzen
Hallo Adrian,
das nachfolgende unvollständige Makro ersetzt dein Makro transfer_werte.
Das Option Explicit empfehle ich, in jedem Modul oben einzufügen!
Option Explicit
Dim Quelle As Object, Ziel As Object, Zielzeile As Long

Sub StartMakro()
Datei_Importieren
Hochkomma_loeschen
'transfer_werte
Transfer_AlterDresdner
End Sub

Sub Transfer_AlterDresdner()
Set Ziel = ThisWorkbook.Sheets("Adressverwaltung")
Set Quelle = ThisWorkbook.Sheets("Datei_import")
Zielzeile = Ziel.Cells(Rows.Count, 4).End(xlUp).Row + 1 'Spalte Name sollte immer gefüllt sein
Feldwert "ANREDE", 2
Feldwert "NAME", 4
Feldwert "STRASSE_NUMMER", 5
Feldwert "PLZ_ORT", 6
Feldwert "BUCHUNGSDATUM", 8
usw.....
End Sub

Function Feldwert(Suchtext, Zielspalte)
Dim erg
Set erg = Quelle.Rows(1).Find(what:=Suchtext)
If Not erg Is Nothing Then Ziel.Cells(Zielzeile, Zielspalte) = Quelle.Cells(2, erg.Column).Text
End Function
Gruß der ALteDresdner
Anzeige
AW: Kopieren von Datensätzen
10.04.2022 22:20:45
Datensätzen
Hallo ALteDresdner
Vielen Dank für dein Schnelle Antwort.
Ich habe deinen Ansatz in meinem Excel eingebaut. Ich erhalte jedoch noch eine Laufzeitfehler.
Kannst du mir bitte nochmals unter die Arme greiffen.
Mein neues Modul sieht jetzt so aus:

Option Explicit
Sub transfer_werte_neu()
Dim Quelle As Object, Ziel As Object, Zielzeile As Long
Set Ziel = ThisWorkbook.Sheets("Adressverwaltung")
Set Quelle = ThisWorkbook.Sheets("Datei_import")
Zielzeile = Ziel.Cells(Rows.Count, 4).End(xlUp).Row + 1 'Spalte Name sollte immer gefüllt sein
Feldwert "ANREDE", 2
Feldwert "VORNAME", 3
Feldwert "NAME", 4
Feldwert "STRASSE_NUMMER", 5
Feldwert "PLZ_ORT", 6
Feldwert "BUCHUNGSDATUM", 7
Feldwert "ARTDESANLASSES", 9
Feldwert "ANZAHLPERSONEN", 10
Feldwert "EMAIL", 11
Feldwert "TELEFONMOBILE", 12
End Sub
Function Feldwert(Suchtext, Zielspalte)
Dim erg
Set erg = Quelle.Rows(1).Find(what:=Suchtext)
If Not erg Is Nothing Then Ziel.Cells(Zielzeile, Zielspalte) = Quelle.Cells(2, erg.Column).Text
End Function

Was fehlt noch?
Vielen Dank
Gruss Adrian

Anzeige
AW: Kopieren von Datensätzen
10.04.2022 22:22:51
Datensätzen
Hallo ALteDresdner
Vielen Dank für dein Schnelle Antwort.
Ich habe deinen Ansatz in meinem Excel eingebaut. Ich erhalte jedoch noch eine Laufzeitfehler.
Kannst du mir bitte nochmals unter die Arme greifen.
Mein neues Modul sieht jetzt so aus:

Option Explicit
Sub transfer_werte_neu()
Dim Quelle As Object, Ziel As Object, Zielzeile As Long
Set Ziel = ThisWorkbook.Sheets("Adressverwaltung")
Set Quelle = ThisWorkbook.Sheets("Datei_import")
Zielzeile = Ziel.Cells(Rows.Count, 4).End(xlUp).Row + 1 'Spalte Name sollte immer gefüllt sein
Feldwert "ANREDE", 2
Feldwert "VORNAME", 3
Feldwert "NAME", 4
Feldwert "STRASSE_NUMMER", 5
Feldwert "PLZ_ORT", 6
Feldwert "BUCHUNGSDATUM", 7
Feldwert "ARTDESANLASSES", 9
Feldwert "ANZAHLPERSONEN", 10
Feldwert "EMAIL", 11
Feldwert "TELEFONMOBILE", 12
End Sub
Function Feldwert(Suchtext, Zielspalte)
Dim erg
Set erg = Quelle.Rows(1).Find(what:=Suchtext)
If Not erg Is Nothing Then Ziel.Cells(Zielzeile, Zielspalte) = Quelle.Cells(2, erg.Column).Text
End Function

Was fehlt noch?
Besten Dank
Gruss Adrian

Anzeige
AW: Kopieren von Datensätzen
11.04.2022 10:23:13
Datensätzen
Hallo ADrian,
die Zeile Dim Quelle as ... muss außerhalb des Subs im Modul (also ganz oben wie in meinem Post) erfolgen, damit sowohl SUb als auch Function darauf zugreifen können. Die Zeile Option Explicit am ANfang des Moduls hätte Dich darauf hingewiesen...
Gruß der ALteDresdner
AW: Kopieren von Datensätzen
13.04.2022 17:39:08
Datensätzen
Hallo ALteDresdner
So ich konnte jetzt mein Makro anpassen und es funktioniert.
Herzlichen Dank für deine Unterstützung.
Gruss Adrian

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige