VBA Copy/Paste & Suche div. Excel-Dateie
17.05.2022 16:34:22
AndreW
vorab beschreibe ich gerne mein Vorhaben:
Zukünftig wird es ca. 400 Excel-Dateien geben, welche alle die gleiche Oberfläche haben (lediglich die personalisierten Daten ändern sich).
Diese Dateien stehen an 400 verschiedenen Orten. Hier ein Beispiel
Überordner: Kunden
-> Kunden A-B
-> Kunde Anton
-> ExcelSheet Anton
ODER
-> Kunden S
-> Kunde Silke
-> ExcelSheet Silke
In einer "MutterDatei" sollen dann diverse Abfragen erfolgen. Z.B. wann zuletzt mit den 400 Kunden gesprochen wurde? (Angabe Datum aus Zelle A30)
Hier müsste das VBA die 400 Dateien durchsuchen und Sie dann der Mutterdatei (dort stehen alle 400 Kunden komprimiert)
jedem Kunden (Anton, Berta, Christian, Silke usw.) gemäß folgenden zuordnen.
Kunde Datum
Anton 10.05.2022
Silke 08.04.2021
usw.
So weit so gut, nur sind meine Kenntnisse mehr als an der Grenze!!!
In den letzten Tagen habe ich verzweifelt versucht, zwei Anpassungen vorzunehmen.
a) nicht alles kopieren (siehe unten "select *" Funktion), sondern nur Zelle A30
und diese dem aktuellen Tabellenblatt der Person (Z.B. Anton) zuzuordnen
UND
b) aus allen 400 Excel-Dateien (stehen in einem Pfad, aber an unterschiedlichen Orten)
die Zelle A30 wiedergeben.
Folgende VBA-Programmierung habe ich bereits eingebaut . . .
Über eure Hilfe würde ich mich sehr freuen. :-)
Danke und beste Grüße
André
Sub DatenImport()
'variablen deklarieren
Dim Connection As New ADODB.Connection
Dim Query As String
Dim rs As New ADODB.Recordset
'connection herstellen
Connection.Open "Provider=MSDASQL.1;DSN=Excel Files;DBQ=S:\BS\420\42004\0_IVV\04_Tewes\Test IDB\Berater A\Kunde AA\GN_IDB_11.xlsx;HDR=Yes';"
'query definieren und ausführen
Query = "Select * From [Tabelle1$]"
rs.Open Query, Connection
'Daten ins Tabellnblatt laden
Tabelle1.Range("A13").CopyFromRecordset
'connection schließen
Connection.Close
End Sub