※ ChatGPTを利用し、要約された質問です(原文:Excel複数シートをaccessへ一括インポート)
Excel複数シートをaccessへ一括インポート
このQ&Aのポイント
Excel複数シートを、accessへ1つのテーブルへ一括インポートする方法を教えてください。
複数シートの一括取り込みの方法について、vbを使用して試してみましたが、テーブル名やワークブックの指定方法について指示がありますか?
Excelの複数シートを一括でAccessにインポートするためのVBAコードを教えてください。
Excel複数シートをaccessへ一括インポート
Excel複数シートを、accessへ1つのテーブルへ一括インポート
(1) ワークブックは複数あります。
(2) ブックには、色々な名前のシート名があります。
(3) テーブルに指定する名前をワークブックに合わせればと思ってます
複数シートの一括取り込みの vb は以下の通り作ってみました。
ここでは、 vbの中で「テーブル名」・「ドライブ内のワークブック(xlsデータ)」指定しなければいけないので、
任意で「テーブル名」・「ワークブック(xlsデータ)」「ドライブ」を(ダイアログボックスなど)指定出来ればと思っています。
=====================================================================
Private Sub コマンド0_Click()
'//////////////////////////////////////////////////////////
'/Excel複数シートのAccessテーブルへのインポート /
'/参照設定 Microsoft Excel x.x Object Library /
'//////////////////////////////////////////////////////////
Const csWsRng As String = "A1:D1000"
Const csTblName As String = "インポートテーブル"
Const csWbPath As String = "D:\"
Dim voXlApp As Excel.Application
Dim voXlWb As Excel.Workbook
Dim voXlWs As Excel.Worksheet
Set voXlApp = New Excel.Application
voXlApp.Visible = True
Set voXlWb = voXlApp.Workbooks.Open(FileName:=csWbPath & "\aaaa.xlsx", _
ReadOnly:=True)
For Each voXlWs In voXlWb.Worksheets
DoCmd.TransferSpreadsheet TransferType:=acImport, _
SpreadsheetType:=acSpreadsheetTypeExcel9, _
TableName:=csTblName, _
FileName:=voXlWb.FullName, _
HasFieldNames:=True, _
Range:=voXlWs.Name & "!" & csWsRng
Next voXlWs
voXlWb.Close
voXlApp.Quit
Set voXlWs = Nothing
Set voXlWb = Nothing
Set voXlApp = Nothing
End Sub
=====================================================================
ご教示頂ければと思います。
宜しくお願い致します。
お礼
返信遅くなり申し訳ありませんでした。 早速ご教示頂きました方法を行ってみましたところ、無事思い通りのものが、完成しました。 ありがとうございました!