アクセスvbaでデータをエクセルにエクスポート!

アクセス担当のまみです。

エクセルってデータの加工がしやすいので、アクセスのデータをエクセルへエクスポートしたい時があったりします。

 

今回はコードを使って、エクセルへのエクスポートをやってみましょう。

ボタン1つでエクセルへエクスポートしてくれるので便利ですよ!

 

エクセルへエクスポート

 

エクセルへのエクスポートはテーブル1つと、フォームにボタンが1つあればできるので、何かテーブルにデータの入っているファイルを用意してくださいね。

 

ここでは、「宛名印刷」ファイルを使って説明します。

同じファイルの方が理解しやすいし、「宛名印刷」ファイルって何だろう?やってみようって思ったら下記の記事ぐらいからどうぞ!

 

アクセスVBAでフォームにボタンを配置しよう

2018年9月18日
 
 
 
では、「宛名印刷」ファイルを開き、「F_メインメニュー」をデザインビューで開きましょう。
 
 
 
「宛名印刷」ファイルを使用しない方は、フォームにボタンを1つ用意してくださいね。
 
 
 
 
 

①「btn出力」ボタンを選択した状態で、プロパティーシートの②「イベント」タブを左クリックします。

「クリック時」を「イベントプロシージャ」にしてコードを開きましょう。

 

「Private Sub btn出力_Click()」と「End Sub」の間に下記のコードを記載しましょう。

    Dim Path As String
    Path = CreateObject("WScript.Shell").Specialfolders("Desktop") & "¥" & "住所録.xlsx"
    
    DoCmd.TransferSpreadsheet acExport, 10, "T_住所録", Path, True, ""
    msgbox"エクスポートされました" 

 

コードをコピーされたい場合は下記の記事を参考にしてください。

関連記事
 
 
[quads id=2]
 
 
これで、デスクトップにアクセスのテーブルのデータがエクセルにエクスポートされるようになりました。
 
 
「メインメニュー」の「エクセル出力」を押してみてくださいね。
 
 
 
(はてな君)
エクセルにエクスポートできたよ!
 
 
この方法だと、 デスクトップに「住所録.xlsx」ファイルがあると、上書きされてしまうので、必要なら名前を変えるなり、保存場所を変える なりしておいてくださいね。

 
 
 
 
(はてな君)
ファイルの名前に日付を入れることってできないの?
 
(あいちゃん)
あ~やっぱり知りたい?
 
(はてな君)
知りた~い!

 

ファイル名に日付を入れるには、「”住所録.xlsx”」の部分を「“住所録” & Format(Date, “yyyymmdd”) & “.xlsx”」にかえればOKです。

これだと、別の日にファイルをエクスポートしていれば上書きされませんね。

 

変更する部分のコードは下記のとおりです。

 

"住所録" & Format(Date, "yyyymmdd") & ".xlsx"

 

 

アクセスVBAテーブルとクエリをエクスポートしよう!

2018年10月17日

 

まとめ

 

エクセルでデータを加工したい時って良くあるのでとっても便利ですよ!

 

ぜひぜひ活用してくださいね。

 

 

スポンサーリンク