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
=====================================================================
ご教示頂ければと思います。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
ファイル選択なら、FileDialog を使うとかして
http://www.geocities.jp/cbc_vbnet/tips/dialog.html
上記サンプルコード中の変数名を使うとして
(FileName:=csWbPath & "\aaaa.xlsx" を
(FileName:=vrtSelectedItem
テーブル名はご自身でも
TableName:=csTblName
とされているので、テーブル名の重複が起きない保証があればこのままで
でなければ、
Book名も付け足すとか(Book名_シート名)すれば良いのかな?
任意のテーブル名にしたいならば、
一旦テーブル(Bookフルパス|テーブル名)にでもBookフルパスを書き出して
テーブルを開いてテーブル名を手入力し、そのテーブルのレコードセットを廻して
インポート処理と絡めればよいのでは?
返信遅くなり申し訳ありませんでした。 早速ご教示頂きました方法を行ってみましたところ、無事思い通りのものが、完成しました。 ありがとうございました!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルのマクロを使ってメールを送る方法について教えてください 2 2022/03/29 01:36
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) このVBAでExcelアプリケーションを作成は必要ですか? 3 2023/07/19 21:13
- Visual Basic(VBA) ExcelVBAに関する質問 3 2023/02/17 10:47
- Visual Basic(VBA) マクロVBA 1シートをまとめる 閉じ方 初心者 SOS! 1 2022/06/17 14:54
- Excel(エクセル) Excel VBAどこが間違ってますか? 4 2023/07/17 10:04
- Visual Basic(VBA) 【ご教示ください】VBAの記述方法がわかりません。 2 2022/08/12 21:28
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Visual Basic(VBA) VBAが止まります。 2 2022/09/02 14:02
- Visual Basic(VBA) VBAのユーザーフォームのテキストボックスに入力制限をしたい 6 2022/11/15 08:28
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教える店舗&オフィスのセキュリティ対策術
中・小規模の店舗やオフィスのセキュリティセキュリティ対策について、プロにどう対策すべきか 何を注意すべきかを教えていただきました!
-
accessへエクセルの複数のシートのインポートの仕方
Access(アクセス)
-
エクセル複数シートをアクセスで1つのテーブルに。
Access(アクセス)
-
複数のエクセルファイルをアクセスにインポートし自動で一つのデータにまとめたい
Access(アクセス)
-
-
4
Accessのマクロを使用してExcelのシートをインポートしたい
Access(アクセス)
-
5
Accessで、1つの項目に複数の置換えを1度でするには?
Access(アクセス)
-
6
エクセルからアクセスにインポートすると、エラーが出てしまいます。原因を教えていただけませんか。
Access(アクセス)
-
7
アクセスクエリ(複数)→マクロ→エクセル出力(ワークシート別)
その他(パソコン・スマホ・電化製品)
-
8
ACCESS への複数ファイルのインポートマクロ
Access(アクセス)
-
9
accessでクエリをExcelにエクスポートする時にファイル名に日付を追加したい
Access(アクセス)
-
10
Accessのマクロでモジュールを実行させたい。
Access(アクセス)
-
11
Accessで別テーブルの値をフォームに表示したい
その他(データベース)
-
12
アクセスでエクセルに出力する際のファイル名を日付に
その他(Microsoft Office)
-
13
AccessからExcelにエクスポートする時に常に上書きしたい
Excel(エクセル)
-
14
テーブルリンク エクセルの4行目を先頭行にしたい
Access(アクセス)
-
15
Access VBA インポート シート指定
Excel(エクセル)
-
16
アクセスVBAで既に開いているエクセルを閉じたい
Yahoo!ショッピング
-
17
access別のテーブルを参照してテキストボックスに値を表示、編集したい
Access(アクセス)
-
18
excelインポート時の「実行時エラー2391」を事前に検知する方法
Access(アクセス)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
WORD VBA プログラム修正をお願...
-
SQLを発行とは?クエリの作成と...
-
任意の周波数の正弦波(サイン...
-
VBとアクセスでSQL文に変...
-
Excel複数シートをaccessへ一括...
-
エクセルのテーブルを解除する...
-
★クリスタルレポートの元になる...
-
ヘッダ(*.h)に定義したテーブル...
-
ExcelVBAからAccessMDB内のテー...
-
Access SQLITEのリンクテーブ...
-
AccessからExcelへエクスポート...
-
ACCESS2010 実行時エラー 2766
-
他のMDBのテーブルに追加したい
-
VBA 変数名に変数を使用したい。
-
Excel VBA で日付を4ケタの数値...
-
クリスタルレポートで困ってい...
-
VBA フォルダ内のファイルを、...
-
AccessのDAOでフィールド名を配...
-
C#で変数名の取得
-
VBScript で ADO Streamオブジ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBとアクセスでSQL文に変...
-
Accessで別mdbのテーブルをコピー
-
他のMDBのテーブルに追加したい
-
SQLを発行とは?クエリの作成と...
-
手動または分散トランザクショ...
-
HTMLのテーブルの行数が多くな...
-
エクセルのテーブルを解除する...
-
ExcelVBAからAccessMDB内のテー...
-
Excel複数シートをaccessへ一括...
-
DataGridの中身をDataSetにテー...
-
CSVファイルのエクスポートでソ...
-
AccessからExcelへエクスポート...
-
.net 複数の主キーを設定する方法
-
『列名 '担当者CD' があいま...
-
COBOLのINVALID KEYが理解でき...
-
アクセステーブル、リンクとロ...
-
ACCESSのテーブル名をリストに...
-
MDBテーブルへの追加変更を教え...
-
【ADO】「Execute」を使うと...
-
ACCESS2010 実行時エラー 2766
おすすめ情報