2017-03-23 8 views
0

Excelフォームをループしてループを作成するたびに新しいExcelを作成することで、AccessフォームからExcelに5つのクエリをExcelにエクスポートしています。最終的に、最初のシートを強調したいときは、私にエラーが返されません:1004Excelへのアクセスエクスポート

<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

毎回新しいブックを作成しています。 5番目のブックには、最初のブックからのシートがありません。 'xlWorkbook(1〜5)'の配列を実行できます。 – user3819867

+0

また、 'xlWorkbook.WorkSheets'を使用してください。 – Gustav

答えて

0

これは同じくらい簡単です。ここで

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

は「DoCmd.TransferSpreadsheet acExport」関数のパラメータのスクリーンショットです:

enter image description here

ので、次から最後の引数は、シート名です。詳細はこちらを参照してください。

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

最後に、このようなものは、あなたのために働く必要があります。

オプションは、データベース

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 

を比較それは非常にタイトロックダウンされていますので、私は私の仕事マシン上でこれをテストすることはできません、私はほとんどすべてですべての作業を行うことができます。

+0

これは単一のスプレッドシートで動作しますが、私の場合と同じように1つのワークブックに複数のクエリを持つ複数のシートを作成しています。 –

関連する問題