PDA

Vollständige Version anzeigen : Tabelle an bestimmter Stelle in Excelsheet einfügen


Slugger
23.03.2006, 06:56
Hallo,

ich habe ein kleines Problem. Ich möchte eine Tabelle in ein Excelsheet exportieren. Die Daten in der Tabelle sollen aber in dem Excelsheet erst ab Zeile A11 eingefügt werden. Weiß hier jemand wie man das macht?

Dim Pfad As String
Dim datum As String
Dim xlsapp As Excel.Application 'Excelfunktionen
Dim wbook As Excel.Workbook
Dim wsheet As Excel.Worksheet
Dim outApp As Outlook.Application 'Outlookfunktionen
Dim mail As Outlook.MailItem
Dim a As String

datum = Replace(Now, ":", "-")
Pfad = "I:\BAZE\Datenbank\EK-VA\PC Select Werbemittel\Werbemittelexporte\Artikel_"
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "T_Auswahl_Abb_Ebene", Pfad & datum & ".xls", True
a = Pfad & datum & ".xls"

Set xlsapp = New Excel.Application
Set wbook = xlsapp.Workbooks.Open(a)
Set wsheet = wbook.Worksheets(1)

xlsapp.Visible = True 'Kontrolle

wsheet.range("A1:G1").Interior.ColorIndex = 6 'Funktionen

wbook.Save

Set outApp = CreateObject("Outlook.Application")
Set mail = outApp.CreateItem(olMailItem)
mail.Attachments.Add (a)
mail.Display

wbook.Close
Set mail = Nothing
Set outApp = Nothing
Set wsheet = Nothing
Set wbook = Nothing
Set xlsapp = Nothing

Gruß

Slugger

Lia
23.03.2006, 07:36
Soweit ich weiß, geht das beim "normalen" Export (mit DoCmd.TransferSpreadsheet) nicht.
Aus der Access-Hilfe:

Bereich Optionaler Variant-Wert. Ein Zeichenfolgenausdruck, der einen gültigen Zellenbereich oder den Namen eines Bereichs in der Kalkulationstabelle angibt. Dieses Argument gilt nur für Importoperationen. Geben Sie dieses Argument nicht an, wenn Sie die gesamte Kalkulationstabelle importieren möchten. Wenn Sie in eine Kalkulationstabelle exportieren, dürfen Sie dieses Argument nicht angeben. Wenn Sie einen Bereich eingeben, schlägt die Exportoperation fehl.

Aber da du eh in Excel noch manuell rumpfuschst, könntest du auch die Daten manuell exportieren. Also einen Recordset erstellen (mit der Abfrage, die du exportierst) und die Daten manuell in Excel schreiben. Dann kannst du schreiben, wo du willst. Ist auch kein großer Aufwand, nur ein paar Schleifen. ;)

Edit: Theoretisch könntest du auch die exportierte Tabelle ausschneiden und an gewünschter Stelle einfügen. Aber das wäre - meiner Meinung nach - unsauber.