Hallo, Jan!
ich möchte von Access aus Excel Einträge auslesen. Es sind
mehrere Dateien und die Felder (d.h. Spalten) sind relativ
variabel; d.h. ich kenne die Spaltenüberschrift vor den
gesuchten Einträgen und die erste Überschrift nach den
gesuchten Einträgen.
Kann mir jemand sagen, wie das geht?
Wenn das nicht, wie mein Vorredner angesprochen hat, eine einmalige Aktion ist, wird’s ein wenig komplizierter. Zunächst brauchst Du den Verweis auf die Excel-Bibliothek (im VB-Fenster unter „Extras“-„Verweise“, dann „Microsoft Excel“).
Dann läuft der Import wegen der Variabilität per Code, ganz grob skizziert ungefähr so:
sub ImportiereDatei(pstrDatei as string)
Dim appXL as Excel.Application
Dim wbDatei as Workbook
Dim wsTabelle as Worksheet
Set appXL = CreateObject("Microsoft Excel") ' oder so ähnlich
Set wbDatei = appXL.OpenWorkbook(pstrDatei) ' natürlich Fehler abfangen, falls Datei nicht existiert
Set wsTabelle = wbDatei.Worksheets("DeineTabelle")
' oder mit Schleife For Each wsTabelle in wbDatei.Worksheets über
' alle Tabellen laufen
' Jetzt irgendwie über wsTabelle.Cells oder wsTabelle.Range
' oder wsTabelle.Find die passende Startstelle suchen; Hilfe
' unter "Cells" oder "Range" oder "Find"
' dann zeilenweise einlesen und in Recordset pumpen oder über
' RunSQL einfügen
End Sub
Wir immer ungetestet/uncompiliert und sowieso als Hilfe zur Selbsthilfe gedacht; schau einfach in die Online-Hilfe unter den entsprechenden Schlagworten/Methoden/Eigenschaften.
Gruß, Manfred