Beitrag aus SmartTools Access Weekly
Access-Tabelle in Excel an einer bestimmten Position einfügen
Access 365 2024 2021 2019 2016 2013 2010
FRAGE Ich möchte gerne aus meiner Datenbank eine komplette Access-Tabelle nach Excel exportieren. Das funktioniert zwar mit der normalen Export-Funktion, aber die Daten werden immer ab Zeile "1" in das Tabellenblatt eingetragen. Ich möchte jedoch eine Excel-Vorlage nutzen und festlegen können, ab welcher Zeile und Spalte der Export im Tabellenblatt abgelegt werden soll. Die eigentlichen Daten sollen erst ab der 11. Zeile erscheinen. Wie lässt sich dieses Problem lösen?
K. Schuller
ANTWORT Mit den folgenden Anweisungen können Sie zum Beispiel die Datensätze aus einem Access-Recordset in ein Excel-Tabellenblatt gezielt ab Zeile 11 einfügen:
'Access/DAO
Dim db As DAO.Database
Dim rs As DAO.Recordset
'Excel
Dim objExcel As Excel.Application
Dim wb As Excel.Workbook
Dim ws As Excel.Worksheet
Set db = CurrentDb()
Set rs = db.OpenRecordset("TabellenName")
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set wb = objExcel.Workbooks.Add("<SpeicherortVorlage>")
Set ws = wb.ActiveSheet
ws.Range("A11").CopyFromRecordset rs
rs.Close
Set ws = Nothing
Set wb = Nothing
Set rs = Nothing
Set db = Nothing
Es wird zunächst ein Recordset "rs" mit den Datensätzen der Access-Tabelle initialisiert. Danach stellen wir eine Verbindung zu Excel her, legen eine neue Arbeitsmappe auf Basis der angegebenen Vorlage an und speichern eine Referenz auf das aktive Tabellenblatt in "ws". Auf diesem Weg lässt sich dann mit "Range" und Angabe der gewünschten Zeile der Inhalt des Recordsets über die Methode "CopyFromRecordset" der Inhalt der Access-Tabelle gezielt ablegen.