News & Tipps zu Microsoft Access

Lesen Sie hier einige der besten Beiträge aus SmartTools Access Weekly sowie ausgewählte Inhalte anderer E-Mail-Newsletter von SmartTools Publishing rund um Microsoft Access.

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.