• ベストアンサー

AccessでExcelに出力

クエリで抽出したデータをエクセルに出力すると、左上から(セルA1)から詰めて表示されますが、たとえばAの行に任意の文、データはBの行から表示させる方法はあるでしょうか。 また、出力するデータを自分で作成した表にはめ込む、もしくははめ込んだ状態で出力させるということは可能でしょうか? よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • CHRONOS_0
  • ベストアンサー率54% (457/838)
回答No.2

Accessからは新しいBookかSheetにしかエクスポートできません 場所を指定したい場合にはExcelから読み込むことになります AxccessからExcelを起動し、起動したExcelから読み込むというコードを Accessに書くことはできます(オートメーションをキーワードに調べてみてください)

beachman
質問者

お礼

やはり特定のシートに出力は無理ですか。 そういうにできるマクロとかがあればいいんですが。 ともかく、ありがとうございました。

その他の回答 (1)

  • wandayu
  • ベストアンサー率24% (24/99)
回答No.1

>出力するデータを自分で作成した表にはめ込む、もしくははめ込んだ >状態で出力させるということ ということなので Accessでは出力をExcel形式ではなく、CSV形式で出力しておき Excel2000以降にある「外部データの取込」をマクロにしておけば できると思います。

beachman
質問者

お礼

CSV形式で出力というのが見当たらなかったのですが、もう少し探してみます。 Access→Excelの流れで使いたいと思っています。 ありがとうございました。

関連するQ&A

  • AccessのレポートからのExcel出力

    当方、Access初級者です。 Access2000ですが、作成したクエリからレポートを表示させ、Excel出力をしたところ列の並びがレポートに表示されている順と変わってしまいます。 クエリの抽出結果からExcel出力すると問題ありません。 レポートはウイザードを使用して作成し、クエリの項目全てがクエリの項目順に表形式に並んでいる簡単なものです。 Excel出力は、「ツール」→「Office Links」→「Excelに出力」で行っております。 原因と解決方法をご教授下さい。

  • Access Excel出力する保存先を指定したいのですが?

    Access初心者です。2003です。 7000ほどのデータを70ほどの抽出条件ごとにエクセルにしています。 抽出条件毎にクエリを複数作成し、各クエリが抽出したデータをマクロでエクセルに出力させています。このマクロをクエリ分作成し、別のマクロでその複数マクロをいっせいに実行させています。マクロには「コマンドの実行」で「Excelに出力」を使用しています。このアクションを使用するとマイドキュメントにエクセルが保存されてしまいます。(たまにディスクトップになります。) この保存先を指定したいのです。ダイアログではなく、設定した任意のフォルダにいっせいに収まるようにです。 「出力」アクションだと保存先のダイアログが出てくれますが、クエリの数が多いので手作業が増えてしまいます。「コマンドの実行」のExcel出力ですと手作業が無いのですが、マイドキュメントに保存されてしまいます。 私がツールを作成し、Accessを知らない人間がフォーム画面で使用するのでなるべく自動化したいと考えています。 へたくそな文ですが、どなたか助けてください。

  • accessからExcelテンプレートへの出力

    お世話になります。 accessのクエリ内データをテンプレExcel内の指定セルに出力したいです。accessVBAで以下の流れで作成したく。 ①accessでクエリ抽出(複数レコードに顧客ID、所属、売上げ額) ②テンプレExcel内の顧客ID、所属、売上げ額をそれぞれのセルに入力 ③1人分が出来たら、ファイル名「顧客ID+"売上表".xlsx」で保存先「フォルダA」へ保存したい。 ④同様にクエリ内の他の対象者もExcelファイル作成し、「フォルダA」へ蓄積したい。 ⑤可能であれば、「フォルダA」内のファイルをメールで一括送信したく、ファイルパス名リストも別エクセルに出力したい。 説明が拙い部分もあるかと思いますが、何卒お力をお貸しいただけないでしょうか。

  • AccessからのExcel出力

    お世話になります。 Access2010 フォームに「Excel出力」ボタンを設置し、押すとクエリの内容を Excelに出力するツールを作成しました。 具体的には、ボタンを押すと出力先を指定するダイアログを表示し、 フォルダが選択されたら、そのパスを取得し、そこにExcelファイルが 作成されます。 出力されるファイル名は「情報_yyyymmdd.xlsx」です。 DoCmd.TransferSpreadsheet acExport, 10, "Q_Dummy", strFolder & "情報_" & Format(Date, "yyyymmdd") & ".xlsx", True, "" strFolderは、ダイアログで選択されたパス Q_Dummyは出力するクエリ <質問1> 上記にて問題無く出力はされますが、例えば今日だと「情報_20160704.xlsx」 というファイルをデスクトップに作成したとします。 で、再度デスクトップに作成しようとした場合「既に同じ名前のファイルが あります、上書きしますか?」というメッセージは表示されず そのまま上書きされてしまいます。 DoCmd.TransferSpreadsheet acExportを実行する前に、事前に出力先の パスに同ファイル名が存在していないかチェックした上で、手動で 「上書きしますか?」のメッセージを表示させる必要があるのでしょうか。 <質問2> 「そのまま上書きされてしまいます。」と書きましたが、実際には マージされてしまうようです。 例えば、2レコード抽出されたクエリの内容を出力し、そのExcelを開いて 表外に「ああああ」と入力します。 次に条件を変えて3レコード抽出されたクエリの内容を出力します。 そうすると、ちゃんと3レコードの内容が出力されていますが 表外に入力した「ああああ」は残ってます。 ※画像1 また、表内のセルに「AAAA」と入力し、そのセルに色付けした状態で、 再度出力すると、「AAAA」は上書きされますが、色は付いたままです。 ※画像2 という結果から、  ・ファイル自体が作成し直される訳ではない。  ・上書きされる部分はあくまでもクエリの内容(表内)の部分だけ   であり、書式や表外の部分については上書きされない。 ということになるかと思います。 その認識で問題ありませんでしょうか。 上書きされないように(そもそも同じファイル名にならないように) ファイル名を「情報_yyyymmdd_hhmmss.xlsx」にすればいいかとは 思うのですが。。 ご教示の程、宜しくお願い致します。

  • アクセス2013でエクセルにデータを出力したい

    はじめまして。初心者ですがよろしくお願いします。 アクセス2013で作成したテーブルをエクセル2013に出力させたいと思っています。 出力する場所が、1行ごとに出力するセルを指定したいのですが、どのようにすればよいのかわかりません。(うまく説明できないので下記のテーブルイメージと出力エクセルイメージを見てください。) あわせて出力イメージの合計はH列になっていますが、これは可能であればの範囲で、一番やりたいことは、メーカーAの後数行あけてメーカーBにしたいのです。 ちなみに例ではメーカー名は2メーカーですが、実際には数十個あります。 よい方法があれば教えてください。 VBAは勉強中なのでなんとなくは読み書きできます。 よろしくお願いします。 ~テーブルイメージ~ メーカー名  2014/6/1  2014/6/2,2014/6/3  合計 ----------------------------------------------------- メーカーA     2    1    1     4 メーカーB     1    1    1     3 ~出力エクセルイメージ~ A       B    C    D   ・・・ H   1 メーカーA     2    1    1       4 2 3 4 5 メーカーB     1    1    1      3 6 7

  • ACCESS Excelの出力について

    stressmanといいます。 実は、ACCESSでクエリをExcelへ出力をしたいのですが、 ここで、既存のExcelのファイルのセルを指定して出力 というこはできるのでしょうか? 選択クエリで必要な情報を抜き出し、そのクエリを 「営業報告書.xls」というファイルのあらかじめ記載して ある「顧客名」「住所」のセルに格納していきたいのです。 マクロで「コマンド実行」-「Excel出力」を使って みたのですが、新しくファイルを開き、クエリのデザイン そのままで出力されます。 宜しくお願いします。

  • エクセルのマクロを知りたい

    エクセルで,たくさんのデータが入力された【シートa】があります。 新しく【シートb】を作成して,そこに空白の表(1)~(10)までを作成します。 (ちなみに表(1)は1行から始まり100行まで,表(2)は101行から始まり200行まで・・・・といった感じです) 【シートb】の表(1)には,【シートa】でA列に「1」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。同様に,表(2)には,【シートa】でA列に「2」が入力されているデータを抽出して,それをB列の昇順に並べて記入しなさい。・・・というのを表(10)まで続けます。 上記のような命令をボタン一つで操作できるようなマクロを教えて欲しいのです。 お願いします。

  • AccessからExcelへ

    Accessの任意のテーブルのデータを配列変数に代入しておいて、Excelの既にあるファイルの任意のセルを指定して転記して表を作成する・・・という事をしたいのですが。 Excelに出力するというマクロがあることも知っていますが、それをすると内容が書き換わってしまうだけでデータの追加が出来ませんし、Excelに出力した後列幅やら表示形式やらのレイアウトも同時にVBAで変更したいのですがうまくできません。 私DAOはある程度わかります。(古いバージョンを使用しているのでADOは使ったことがありません。)Loopや配列変数のプロシージャも一応理解できます。 こんな風にしたら出来ます、ないしはこの書籍に載ってます。という回答お願いします。

  • エクセルでフィルター抽出したセルを効率良く数えるには?

    恐縮ですが質問させて頂きます。 エクセルで膨大なデータの中からある条件でフィルター抽出したセルを数えるにはどうしたらいいんでしょうか? 例えばまったくフィルターをかけていない状態であればマウスで範囲を選択しようとすると左上の名前ボックスに自動的に列や行の数字が出ますよね? ただフィルターで抽出したデータは行が“飛んでいる”ことがあるので表示されていないセルの数まで数字が入ってしまいます。 念のため例を挙げると・・・  A,B,Cの設問に回答されたデータがあるとします。 1行目の鈴木さんはAと回答、2行目の佐藤さんはBと回答、3行目の高橋さんはAと回答。フィルターでAと回答した人を抽出すると2行目の佐藤さんのセルは表示されないのですが、表示上連続して見える鈴木さんと高橋さんのセル(計2行)の範囲を選択すると3R(行)とでます。これだと数百件から数千件あったりするとすごく数えにくいんです。お教えいただけると大変助かります。よろしくお願いします。

  • AccessのフォームをExcelに出力

    いつもお世話になっております。 現在、Access2003でDBを作成中です。 "テーブル1"をパラメータクエリで抽出します。"クエリ1"。 そのクエリを基にフォームを作成しています。"フォーム1"。これは抽出して印刷したり、Excelに出力するために作成しました。レポートではなく、フォームにした理由は、コマンドボタン等を配置できることからです。 Excelに出力する際のVBAでつまづいてしまいました。 DoCmd.OutputTo acOutputForm, "フォーム1", acSpreadsheetTypeExcel9 これで問題なく出力できています。が、、、 Access2007の一部のPCでこれを実行するとエラーが出ます。 原因は"OutputTo"が含まれているとエラーになるようです。 ちなみにエラーは「現在出力しようとしているオブジェクトの形式は無効です。」 「2007 Office スイート Service Pack 2」こちらをインストールすると良いそうなのですが、だめでした。 WindowsXP、Office2007はこのVBAだとエラーになります。 WindowsVista、Office2007は正常に使えました。 PCの何か設定?と考えたりもしたのですが、はっきりとした原因がわからないのでは、他の人にDBを使っていただけないので、エラーにならないVBAでいきたいです。 もうひとつ、 mFileName = InputBox("ファイル名を入力してください。") DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "フォーム1", mFileName こちらのVBAはクエリの出力だとうまくいくのですが、フォームだとだめでした。 クエリから抽出して保存すれば良いのですが、理想はこの形です。 1.フォーム1を開くと「担当者を入力」とパラメータクエリが働き、抽出結果をフォーム1に表示される。 2.[出力]ボタンを押すと、ダイアログボックスが開いてファイル名を指定して保存する。または、ダイアログボックスが開かなくても名前を指定できれば良いです。最悪、指定できなくても良いですが、原因となる、"OutputTo"を避けたVBAでいきたい。 3.mFileName = InputBox("ファイル名を入力してください。") DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "クエリ1", mFileName これだと、1.でパラメータクエリで抽出結果をフォームに表示させて、2.で[出力]ボタンを押すと、また、パラメータクエリで抽出しなければならなくなるのでできれば避けたいです。 こちらの条件でご教授お願い致します。 また、WindowsXP、Office2007でエラーが出ましたので、これを解決する方法でも良いです。 よろしくお願い致します。

専門家に質問してみよう