Hallo miteinander,
habe per DoCmd.TransferSpreadsheet-Methode Abfrageergebnisse nach Excel exportiert, wobei ich die oberste Zeile sowie die erste Spalte in allen Arbeitsblättern der Excelmappe löschen möchte.
Gibt es einen Ansatz das aus Access heraus durchzuführen?
Lg
HAllo,
Ansätze wären:
1) Die zu löschenden Daten gleich gar nicht zu exportieren
2) Die Daten mittels Excel-Automation zielgerecht zu übertragen: http://www.dbwiki.net/images/3/3f/AccSampleAccessToExcel.zip
3) Die Zellen/Spalten/Reihen mittel Excel-Automation zu löschen (zu leeren)
Folgender Code aus dem Internet, den ich angepasst habe hat das Problem für mich gelöst, ich poste ihn mal für alle, die ein ähnliches Problem haben.
Function Funktionsname()
On Error GoTo Funktionsname_Err
Dim xlApp As Object, xlWb As Object
Set xlApp = CreateObject("Excel.Application") ' Excel öffnen
xlApp.DisplayAlerts = False ' Warnungen deaktivieren
Set xlWb = xlApp.workbooks.Open("Pfad eurer Exceldatei") ' Exceldatei öffnen
xlWb.sheets("Arbeitsblattname1").Rows("Nummer der zu löschenden Zeile").Delete ' angegebene Zeile in allen Worksheets löschen
xlWb.sheets("Arbeitsblattname2").Rows("Nummer der zu löschenden Zeile").Delete
' und so weiter
xlWb.sheets("Arbeitsblattname1").Columns("Spaltenname/buchstabe").Delete ' Angegebene Spalte in allen Worksheets löschen
xlWb.sheets("Arbeitsblattname2").Columns("Spaltenname/buchstabe").Delete
xlWb.Save ' Excelmappe speichern
xlWb.Close ' Excelmappe schließen
xlApp.Quit ' Excel beenden
Funktionsname_Exit:
Exit Function
Funktionsname_Err:
MsgBox Error$
Resume Funktionsname_Exit
End Function
Hallo,
entspricht Punkt 3) meiner "Ansatzliste" ;)
wobei DRINGEND die Objektvariablen am Ende noch zu "zerstören" sind (Set xlWb = Nothing : Set xlApp = Nothing ).
Super, danke für den Tip!