2017-03-23 3 views
0

Ich exportiere 5 Abfragen von Access-Formularen zu Excel mit Recordset durch Schleifen des Excel-Objekts und Erstellen eines neuen Excel jedes Mal, wenn ich es geloopt habe. Am Ende, wenn ich will das erste Blatt markieren es mir einen Fehler wirft keine: 1004Zugriff auf Excel-Export

<code> 
'Once the loop ends 
xlWorkbook.Sheets("xlsheet1").Select 
xlSheet.Range("A3").Select 
</Code> 

But when I select the last sheet which is by default highlighted I don't get the error. 

<code> 
'Once the loop ends 
xlWorkbook.Sheets("xlsheet5").Select 
xlSheet.Range("A3").Select 
</Code> 

Can someone help me with this. 

Thanks in Advance. 
+0

Sie erstellen jedes Mal eine neue Arbeitsmappe. Die fünfte Arbeitsmappe hat kein Blatt aus der ersten Arbeitsmappe. Sie könnten ein Array von 'xlWorkbook (1 bis 5)' ausführen. – user3819867

+0

Verwenden Sie auch 'xlWorkbook.WorkSheets'. – Gustav

Antwort

0

Es ist, als dies genauso einfach.

Private Sub ExportExcel() 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "your_query", "C:\your_path_here\your_excel_file.xlsx", True 
End Sub 

Hier ist ein Screenshot des Parameters der ‚DoCmd.TransferSpreadsheet acExport‘ Funktion:

enter image description here

Also, das nächste zu letztem Argument ist der Blattname. Sehen Sie das für mehr Info.

http://access-excel.tips/access-vba-cocmd-transferspreadsheet/

schließlich so etwas wie dies sollte für Sie arbeiten.

Option Compare Database

Private Sub Command0_Click() 

DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel10, "Query1", _ 
"C:\Users\your_path\access_export.xlsx", True, "Query1" 
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel10, "Query2", _ 
"C:\Users\your_path\access_export.xlsx", True, "Query2" 

End Sub 

Das kann ich auf meiner Arbeit Maschine nicht testen, da es nach unten, so fest verankert ist, kann ich kaum überhaupt eine Arbeit tun.

+0

Dies würde für ein einzelnes Tabellenblatt mit einzelner Abfrage funktionieren, aber wo ich in meinem Fall mehrere Blätter mit mehreren Abfragen in einer einzelnen Arbeitsmappe erstellen. –