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-ID: 281109

Url: https://administrator.de/forum/aus-access-tabelle-in-bestehende-tabelle-excel-an-eine-bestimmte-mappe-werte-uebergeben-281109.html

Ausgedruckt am: 23.12.2024 um 01:12 Uhr

colinardo
colinardo 25.08.2015, aktualisiert am 26.08.2015 um 00:26:02 Uhr
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
colinardo
colinardo 30.12.2015 um 20:16:33 Uhr
Goto Top
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.

Guten Rutsch.