000000 ランダム
 HOME | DIARY | PROFILE 【フォローする】 【ログイン】

はじめVBAのブログ

はじめVBAのブログ

【毎日開催】
15記事にいいね!で1ポイント
10秒滞在
いいね! --/--
おめでとうございます!
ミッションを達成しました。
※「ポイントを獲得する」ボタンを押すと広告が表示されます。
x
X
2022/06/22
XML
カテゴリ:VBAソース公開
エクセルブックから指定シートを Accesへ変換する方法
エクセルブックのシートをAccessデータベースへインポートするモジュールです。
ここをクリックするとソースが表示されます。

ExcelではVlookUp等で検索等が行えますが、時には Accessデータベースにした方が便利な場合もあります。
Excel シートのデータをAccessデータベースに変換するモジュールです。
ここをクリックするとソースが表示されます。

Set objAccess = CreateObject("Access.Application")
objAccess.OpenCurrentDatabase strMdbPath
でAccess を準備し 下記の DoCmd を使用します。
objAccess.DoCmd.TransferSpreadsheet 0, , strSheet, strGibNam, bolTopTitle, strSheet & "!"

※参照設定が不要なように0等の即値を使用しています。
参照設定なさる方は下記リンクから定数を調べて設定して下さい。
https://docs.microsoft.com/ja-jp/office/vba/api/access.docmd.transferspreadsheet

ダウンロード

ここをクリックするとソーズをまとめたファイルをダウンロードできます。

 ZIP_7010.zip   zipファイルの中身は下記のようになっています。
 7010_データベースへインポート.bas 本体のソース
 TestMain.BAS テスト用のメイン
 Test7010.xlsm モジュールを組み込んだブック
 お客様マスタ.xlsx 参考:テスト用データ データがなければご使用下さい

解凍後、Test7010.xlsm を起動し、
B4にテスト用ブックのフルパスを設定して下さい      例)D:\TEST\TESTDATA.xlsx
B6にテスト用のデータベールのフルパスを指定して下さい  例) D:\TEST\Database1.accdb
インポート見本
テスト用メインでは
'
'***CALL
  strSheet = "M1お客様マスタ"                          '==対象のシート名 例) お客様マスタ
  bolTopTitle = True                               '==TRUE(先頭行をフィールド名として扱う) FALSE;先頭行はフィールド名ではない
  strNewAdd = "NEW"                               '=="NEW":新しいテーブルとして(既存データがあれば消される) "NEW"以外はテーブルにデータが既にあればデータ追加となる
  Call SP_7010_XLS2MDB(strGibNam, strMdbPath, strSheet, bolTopTitle, strNewAdd)
 
としていますので、テスト用データで実行した場合は下記のようになります。
インポート結果見本

にほんブログ村 IT技術ブログ VBAへ





お気に入りの記事を「いいね!」で応援しよう

Last updated  2022/06/22 09:14:41 AM
コメント(0) | コメントを書く


PR

×

© Rakuten Group, Inc.
X