【Access⑨】Excelへ出力する

目次

VBAを使って出力する【推奨】

せっかく検索してもExcelに出力できなければ意味がない!今回は、クエリで抽出したデータを、Excelに出力したいと思います。
すぐにお答えします。メインフォームにコマンドボタンを追加して、クリック時のイベントプロシージャに以下のプログラムをコピペしてください。※赤文字のクエリ名だけ書き換えてください。

フォームにコマンドボタンを作成する

コマンドボタンを設置する方法は↓コチラの記事を参照ください。

コマンドボタンにVBAを記述する

Excelに出力するVBA

Private Sub (コマンドボタンの名前)_Click()

Select Case MsgBox("デスクトップに出力されます。", 4, "確認")
Case vbYes
 Dim Path As String
 Path = CreateObject("WScript.Shell").Specialfolders("Desktop") & "\" & "(クエリ名)" & ".xlsx"
  DoCmd.TransferSpreadsheet acExport, 10, "q_meigara", Path, True, ""
 MsgBox "エクスポートされました"
End Select

End Sub

Private Sub (コマンドボタンの名前)_Click()

Select Case MsgBox("デスクトップに出力されます。", 4, "確認")
Case vbYes
 Dim Path As String
 Path = CreateObject("WScript.Shell").Specialfolders("Desktop") & "\" & "(クエリ名)" & ".xlsx"
  DoCmd.TransferSpreadsheet acExport, 10, "q_meigara", Path, True, ""
 MsgBox "エクスポートされました"
End Select

End Sub

実行すると、デスクトップに「(クエリ名).xlsx」というファイルが作成されるはずです!

他にも出力する方法はありますが、まずは一番使いやすい方法について解説いたしました。

マクロを使って出力する

VBAを使わず代替手段として、マクロを使用して出力する方法を解説いたします。

マクロの新規作成

  1. リボンの[アクションカタログ]をオンする。最初からなっているかも。
  2. まだ、目当ての項目が表示されないので、リボンの[すべてのアクションを表示]をオンにする。
  3. 右側のメニューの[アクション カタログ]から[データのインポート/エクスポート]を展開する。
  4. その中にある[ワークシートのインポート/エクスポート]を、選択する。
  5. 左側のマクロの項目にドラッグアンドドロップする。

ドロップすると、↑のような状態になります。ここから一つずつ設定していきます。

詳細設定

  1. 変換の種類を[エクスポート]にします。デフォルトでは[インポート]になっています。
  2. テーブル名を入力します。”テーブル名”とありますが、クエリ名でも可能です。今回は以前に作成した銘柄コードから検索するクエリを指定します。
  3. 出力先のファイル名をフルパスで指定します。すでにファイルがあれば、そちらに出力されますし、無い場合はファイルが新規作成されます。

マクロをフォームのコマンドボタンのクリック時イベントに登録することで、フォームから1クリックで実行できます。

実行結果

マクロを実行して、作成されたファイルを見ると、クエリ名のついたシートが作成され、中にデータが入っています。

右クリックメニューで出力する(基本)

もっとも単純な方法かと思います。ナビゲーションウインドウのクエリを「右クリック」→「エクスポート」→「Excel」と辿っていき、あとは画面の指示に従えば出力できます。

  • URLをコピーしました!
目次