thomas1972
Goto Top

Aus Access Tabelle in bestehende Tabelle Excel an eine bestimmte Mappe Werte übergeben

Hallo,

ich komme hier an einer Stelle nicht weiter.

Wie ist es möglich aus einer Access Tabelle gewisse Spalten in eine Bestehende Excel Tabelle ( hier ein bestimmtes ) Tabellenblatt zu übergeben?

z.b. Access test.accdb Tabelle Test -> Spalte Testwerte
soll nach c:\temp\test.xmsl in das Tabellenblatt Test2 A1 übergeben werden,
im Vorfeld soll das Tabellenblatt geleert werden .

Es soll keine neue Excel Tabelle erzeugt werden sondern nur eine bestehende verändert werden.

Besteht hier eine Möglichkeit dieses per VBA umzusetzen?

Grüße aus München

Content-Key: 281109

Url: https://administrator.de/contentid/281109

Printed on: April 23, 2024 at 19:04 o'clock

Member: colinardo
colinardo Aug 25, 2015 updated at 22:26:02 (UTC)
Goto Top
Hallo Thomas1972,
kein Problem, wenn du aus Access heraus mit VBA arbeitest sieht das anhand deiner genannten Namen und Daten so aus:
(Weitere Kommentare siehe Code)
Sub ExportColumnToExcel()
    Dim rec As Recordset, objExcel As Object, wb as Object
    'Recordset via SQL Query erstellen  
    Set rec = CurrentDb.OpenRecordset("SELECT Testwerte FROM Test")  
    'Excel öffnen  
    Set objExcel = CreateObject("Excel.Application")  
    'Workbook öffnen  
    Set wb = objExcel.Workbooks.Open("C:\Temp\Test.xlsm")  
    'Daten in Worksheet importieren  
    With wb.Sheets("Test2")  
        'Existierende Daten im Sheet löschen  
        .UsedRange.ClearContents
        'Recordset übertragen  
        .Range("A1").CopyFromRecordset rec  
    End With
    'Excel anzeigen  
    objExcel.Visible = True
    set rec = Nothing
End Sub
Anders herum, also aus Excel heraus geht natürlich auch wenn man möchte, dann musst du das ganze nur umdrehen und anstatt der Erzeugung eines Excel-Objekts eben ein Access-Objekt erstellen die DB öffnen und das Recordset erstellen. Die Übertragung des Recordset ist dann analog zu obigem Beispiel in Zeile 14.

Grüße Uwe
Member: colinardo
colinardo Dec 30, 2015 at 19:16:33 (UTC)
Goto Top
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.

Guten Rutsch.