【ACCESS VBA】散らかったExcelファイルをACCESSに集結

このブログで言いたいことは、

PWで保護されたExcelファイルだって、VBAなら、ボタン一発でインポート

散らかったExcelファイルをACCESSに集結

こんにちは。伊川(@naonaoke)です。

今回は、実際、私が実務で利用しているコードを紹介します。

実務では、あるあるですが、いろんなドライブのいろんなフォルダに、

Excelが散らかっています。

このExcelを集計の度に開いて、集計をするなんて、なんて無駄なのでしょう。

こんなことありませんか?

はっきり言って時間の無駄です。

しかも、ExcelはPWで保護されています・・・・・・

たれだ、これを作ったのは!

せめて、フォルダくらい、統一しろ!

こんな気持ちをVBAが解決してくれます。

このブログは、こんな人にお勧め

今回のテーマ
  • ExcelのファイルをACCESSにまとめたい人
  • コピペをするのが面倒な人
  • Excelを全部開いて、集計するのがイヤな人

解決

自分自身で使っていますが、便利です。しかし、Excelの場所を毎月変更する必要がありますが、

毎回、パスワードを入力するよりマシです。

こんなに便利なVBA

初心者の頃は、パスワードで保護されたExcelを開くことなんてできないと思っていました。

しかし、人間、勉強すればできるものです。

こんなに、カンタンに、散らかったExcelをACCESSに集結できるとは思いませんでした。

Excelから、ACCESSへ転送することは、散々やりまりましたが、

ACCESSで、Excelのデータをインポートすることはやっていませんでした。

結構カンタンなので、みなさんのスキルにしてください。

ACCESSから、Excelデータをインポート 作業手順 その1 データベース確認



スポンサーリンク
このようなデータベースがあります。

このデータベースとなるtest.xlsxを、ACCESSのMT_testに取込をします。

ACCESSから、Excelデータをインポート 作業手順 その2 コードを確認

正直、ACCESSへインポートすることより、Excelのパスワードを解除する方が難しいかもしれません。

DoCmd.TransferSpreadsheet acImport, , “MT_test”, strDocName, True

ACCESSへインポートするコードはたった一行です。

最後のTrueは、Excelの見出しを取り込む場合に必要になります。

見出しが不要なら、Falseになります。

※ACCESSの時間なので、Excelのパスワードロックを解除する説明は、割愛します。

ただ、そのままコードを利用するこができます。

取込む範囲をしてする場合

DoCmd.TransferSpreadsheet acImport, , “MT_test”, strDocName, True, “Sheet1!W4:AF500”

最後に”Sheet1!W4:AF500″、と記載すると、取込む範囲を指定します。

“Sheet1!W4:AF500″を、変数を使って範囲して指定もできます。

ACCESSから、Excelデータをインポート 作業手順 その3 取込むテーブルに主キーを設定する

取込むデータは、色々なものが重複しています。

担当者に、必ず、重複しているキーがあるか確認しましょう。

そして、主キーを設定することで、重複がなくなります。

重複がなくなると、集計が楽になりますので、時間短縮につながります。

ACCESSから、Excelデータをインポート 作業手順 その3 変なアラートをださない

今回は、MT_testの主キーを名前に設定しています。

仮面ライダーは、重複しているので、登録できません。

その際に、下記のようなアラートがでます。


このアラートが出ると全自動になりません。

DoCmd.SetWarnings False ⇒アラートをださない

DoCmd.SetWarnings True ⇒アラートをだす

このコードを挿入することで、全自動にできます。

ここがポイント

実務では、常に生の問題に立ち向かいます。

そこで、必要になるのは、どれだけ、現段階で、自分の脳ミソに汗をかかせたかという事です。

その汗は、経験なのです。

常に新しい知識を身に着け、経験を時に捨てることも重要です。

要するに、臨機応変な対応が必要なのです。

まとめ

今回は、私の実体験の技を紹介しました。

10年以上、勤めていますが、いまだに、集計で悩むときもあります。

これからも、精進したいと思います。

今回も最後まで読んでいただきありがとうございました。

 

今回のサンプルファイルは、No204です。

※今回のファイルは、Excelがあるフォルダパスを設定しないと作動しません。

サンプルファイルを購入希望の方はココをクリック
サンプルファイル
VBAを勉強中の悩みを解決
  • なんで動かないの?
  • もうやだ!
  • どこにも情報がない!
スポンサーリンク

Twitterでフォローしよう

おすすめの記事