Es gibt 2 Möglichkeiten Daten aus Excel zu bekommen:
Dim appXLS As Excel.Application Dim wbkXLS As Excel.Workbook Dim wksXLS As Excel.Worksheet Dim rs As DAO.Recordset Dim Spalte As Long Dim Zeile As Long '//Excelinstanz öffnen Set appXLS = New Excel.Application Set wbkXLS = appXLS.Workbooks.Open("C:\DeineTabelle.XLS") Set wksXLS = wbkXLS.Worksheets("Tabelle1") '//Recordset öffnen Set rs = DBEngine(0)(0).OpenRecordset("DeineTabelle", dbOpenDynaset) Zeile = 1 '//Mit einer Schleife wird der Recordset durchlaufen und die Daten '//an Excel übergeben While Not rs.EOF For Spalte = 0 To rs.Fields.Count - 1 wksXLS.Cells(Zeile, Spalte + 1) = rs.Fields(Spalte) Next Spalte Zeile = Zeile + 1 rs.MoveNext Wend wbkXLS.Close appXLS.Quit rs.Close Set wksXLS = Nothing Set wbkXLS = Nothing Set appXLS = Nothing Set rs = Nothing
In diesem Beispiel geht es andersherum. Zu Beachten ist, dass die Excelauflistung
kein wirkliches Ende hat.
Hier muss man überprüfen, ob noch Werte in den Zellen stehen. Der
Import gestaltet sich meist umständlicher, als der Export.
Dim appXLS As Excel.Application Dim wbkXLS As Excel.Workbook Dim wksXLS As Excel.Worksheet Dim rs As DAO.Recordset Dim Spalte As Long Dim SpalteAkt As Long Dim Zeile As Long Dim ZeileAkt As Long Dim i As Long '//Excelinstanz öffnen Set appXLS = New Excel.Application Set wbkXLS = appXLS.Workbooks.Open("C:\DeineTabelle.XLS") Set wksXLS = wbkXLS.Worksheets("Tabelle1") '//Recordset öffnen Set rs = DBEngine(0)(0).OpenRecordset("DeineTabelle", dbOpenDynaset) Zeile = 1 Spalte = 1 '//Zeilenanzahl ermitteln While Len(Nz(wksXLS.Cells(Zeile, 1), "")) > 0 Zeile = Zeile + 1 Wend '//Spaltenanzahl ermitteln '//Zeilenanzahl ermitteln While Len(Nz(wksXLS.Cells(1, Spalte), "")) > 0 Spalte = Spalte + 1 Wend ZeileAkt = 1 '//Daten an das Recorset übergeben While ZeileAkt < Zeile SpalteAkt = 1 rs.AddNew For i = SpalteAkt To Spalte rs.Fields(SpalteAkt - 1) = wksXLS.Cells(ZeileAkt, SpalteAkt) SpalteAkt = SpalteAkt + 1 Next i rs.Update ZeileAkt = ZeileAkt + 1 Wend wbkXLS.Close appXLS.Quit rs.Close Set wksXLS = Nothing Set wbkXLS = Nothing Set appXLS = Nothing Set rs = Nothing