• ベストアンサー
  • すぐに回答を!

ACCESSのテーブルをEXCELにインポートするには?

仕事でACCESSでデータを加工→EXCEL出力したあと、出力されたEXCELで 全セル選択→コピーし、別のEXCELに形式を選択して値と書式のみコピー (テキスト形式でEXCEL出力されるので、それを任意の方に変換させるため) そのあと、別のEXCEL上にあるマクロでデータを印刷用に加工するような 仕組みを作ったのですが、突貫工事的な作業だったので、見直しをしようかと思っています。  新しい仕組みではACCESSでデータを加工し、EXCELを起動させ、EXCEL側からACCESSのテーブルをインポートし、印刷用に加工することを考えているのですが、EXCEL上で、ACCESSのテーブルをコピーし、形式を選択して貼り付けるようなことはできないのでしょうか?  EXCEL上で外部データの取り込みを行うと新規挿入になってしまうので、困っています。どなたか良い案をお教えいただけないでしょうか。

共感・応援の気持ちを伝えよう!

  • 回答数3
  • 閲覧数395
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.3

#1です。recordsetをそのままワークシートに貼り付ける事が、Access側から出来ないものかと調べていたら、ズバリのコードを見つけました。 >07.レコードセットの内容をExcelのワークシートにコピー をご覧下さい。

参考URL:
http://www.geocities.jp/cbc_vbnet/tips/Excel01.html

共感・感謝の気持ちを伝えよう!

質問者からの補足

早速のレスありがとうございます。 深くは読めていないのですが、現時点でテーブルをクリップボードに保存してcsv形式で「形式を指定して貼り付け」でできそうです。 ADOやDAOはまだ初心者で文法しかわからないので、実践にはとても使えません。 Range("A1").Select 'コピーしたテーブルをCSV形式で貼り付け ActiveSheet.PasteSpecial Format:="Csv", Link:=False, DisplayAsIcon:=False  問題はどうやってテーブルをクリップボードにコピーするかですが、 DoCmd.CopyObjectだとコピー先も指定しなければいけないので、 テーブルをクリップボードだけにコピーできないかなぁと悩んでいます。

関連するQ&A

  • Accessのテーブルにエクセルのセル単位データを追加貼りつけする

    いつも大変お世話になっております。m(_ _)m Accessのテーブルにエクセルからデータを貼り付けたいのですが、 Accessのフィールド 日付/型番/数量 Excelのフィールド 型番/数量 で、Excel側のデータは200件ずつくらいファイル単位でデータが存在します。 現在10ファイルくらいあるのですが、これは今後も増えていきます。 Excelで存在する月単位のデータをAccessの1テーブルにまとめていきたいのですが、 最初のデータはExcelからAccessへ問題なく貼りつけできるのですが、次のExcelファイルをAccessへ追加貼りつけしようとするとうまくいきません。 やりたいことは、Excelの「型番」「数量」のデータを、Accessへ追加貼りつけしていきたいだけなのですが、コピー&貼りつけでできないでしょうか? Excel側のデータに手を入れて、Accessと同じ作りに変更すれば「インポート」で追加されるのですが、できたらその手間をかけずに、Excelの必要箇所を範囲指定し、コピー&貼りつけでAccessのテーブルに持っていけたらと思います。 何か良い方法がありましたら教えてください。 よろしくお願いします。

  • マクロ Excelデータ Accessへ

    マクロでExcelのデータでAccessにテーブルを作成する方法を教えていただけないでしょうか? Accessに接続して加工したテーブルのデータをExcelにコピーすることはできたのですがExcelのデータをAccessにコピーするマクロがわかりません。 どなたかお知恵を拝借できないでしょうか。 よろしくお願いいたします。

  • Access2003 インポートについて質問がございます。

    Access2003 インポートについて質問がございます。  すでに完成しているテーブルがあり、  そこに毎月のExcelデータを都度テーブルに蓄積していきたいのですが、  Accessを開かずしてテーブルにインポートすることは可能でしょうか。  すでにテーブルのフィールド順に、レコード単位でExcelに並べられている条件です。   (Excelの行コピー⇒ Accessテーブルの最終行に貼付でインポートできる状態) 初心者なもので大変恐縮ですが、ご教示をお願いいたします。  

その他の回答 (2)

  • 回答No.2
  • n-jun
  • ベストアンサー率33% (959/2870)

取り違えているかも知れませんけど。 データベース操作 http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_130.html こう言った感じの事ではないのかな?

共感・感謝の気持ちを伝えよう!

  • 回答No.1

参考URLをご覧下さい。中でも、下記がご参考になるかと思います。 http://www.ken3.org/vba/backno/vba093.html

参考URL:
http://www.ken3.org/cgi-bin/group/vba_access_excel.asp

共感・感謝の気持ちを伝えよう!

関連するQ&A

  • ExcelとAccessの連携

    タイトルの通り、Excelのマクロを利用しデータをフォーム(Excel)から入力し、データが自動的にAccessのテーブルにおちるようにしたい。もちろん逆方向も操作したい、Accessのテーブルからデータを抽出し、Excel上で加工したい(以上すべて処理は、Excelのマクロで処理したい)。 そうゆう参考サイドがありますか? あったら、教えてください、お願いします。

  • 初心者です!ExcelデータをAccessへ

    Access初心者です・・・と云うより使い勝手が分からず、OfficeLinksでExcelへ 出力し、Excel上で加工して凌ぐこと1年。 ところが今日、Accessの情報を、大量に書き換えるよう命じられました。大変です! 今まで逃げてきましたが、使いこなせるようにならないといけない時期になりました。 とは云え、素人にAccessは使い辛い! そこで、これまたその場凌ぎですが、Excelで加工したデータをAccessへ戻すことは できるのでしょうか?慣れているExcelで書換え、Accessへ戻そうと思っています。 ご教授下さい!

  • エクセルからアクセスのテーブルにデータ追加したい

    Excel(xls)からAccess(mdb)のテーブル(出力)にデータを追加できるVBAコードを教えてください。 条件 Accessの名前と場所 C:\SP3\Print.mdb テーブル名 (出力) (履歴) テーブル構造 (出力) (履歴)ともに、フィールド1~4、ID 履歴テーブルのIDは、カウントアップであり、プリント後のデータが格納される。エクセルでマクロを起動したときに、最初に履歴テーブルの最後のIDを知り、エクセルの対応するID列をレコード分だけ最後のID+1から通番を付ける。通番を付けたら、エクセルのフィールド1~4とIDのレコードセットを出力テーブルの該当列に追加する。 以上がやりたいことです。 エクセルに、10行から100行程度のデータを貼りつけて、このVBAを紐づけたマクロボタンを押したら、履歴テーブルの最後を調べて、その次の番号から順に、上からID列を更新して、その後、出力テーブルに追加したいのです。 検査機器用に専用開発されたプリントソフトがデータベースにAccessを持っていて、プリントソフトのフロントからデータを手入力する仕様なのですが、エクセルで加工したデータをAccessの所定のテーブルに横差ししたい考えです。対象のPCには、Accessをインストールしていないため、エクセル側からテーブルを操作したい理由です。 よろしくお願いします。

  • ACCESSでEXCELの複数のデータをテーブルに貼り付けた時、必ず貼

    ACCESSでEXCELの複数のデータをテーブルに貼り付けた時、必ず貼り付けられないデータがある。 エクセルの4行19列のデータをACCESSのテーブルに貼り付けようとしました。テーブルに主キーの設定はなく規制は全くないテーブルです。データ型はテキスト型になっておりEXCELデータと一致しています。しかし特定の1行だけが毎回貼り付かず、3行のみとなってしまいます。 しかしその1行だけを個別で貼り付けると貼りつけることが出来ます。貼り付けエラーは発生しません。 キツネにつままれたような気がして、4行のデータでしたので気付きましたが多数では気づくことが出来ず重要なデータを漏らす恐れがあるため解決したいと思います。 心当たりのある方お願いします。

  • AccessのテーブルをExcelにエクスポートする際の並び順が狂う

    AccessのテーブルをExcelにエクスポートする際の並び順が狂う Access2002で、テーブルの内容をExcelにエクスポートする際、 エクスポートされたExcelを確認しますと、 必ずといっていいほどの確率で、並び順が狂います。 どう狂うかというと、例えばAccess上でAテーブルを開くと、 フィールド名:SEQ(プライマリキー)の昇順で1から順に並んでいるとします。 このAテーブルをExcelにエクスポートし、そのExcelを開くと、 SEQの途中の一部分が、前や後ろの方にごっそり移動していたりします。 他の部分はSEQの昇順で並んでいます。 その狂い方は、毎回異なります。 Excelの出力の方法は、VBAで「DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel9, "Aテーブル", 保存先, True」で行っても、 Aテーブル右クリックでエクスポートでExcel出力しても、並び順が狂います。 これはなぜでしょうか? よろしくお願いいたします。

  • Accessのテーブルへのデータインポートについて

    Accessのテーブルへのデータインポートについて Access2002で、A.mdbのTESTテーブルからB.mdbのTESTテーブル(構造は同じ)へテーブルデータをインポートしたいのです。 TESTテーブルの主キーはSEQ(オートナンバー)しかありません。 そのときに、コピー元とコピー先の主キーに重複があった場合、オートナンバーなので自動で再付番しデータが追加して欲しかったのですが、 Accessの機能のエクスポート、インポートでは、コピー先に主キーに重複があったデータは上書きされてしまいます。 テーブルを開き、データをコピー&ペーストしますと、ペーストしたときにオートナンバーで自動で再付番されます。 この方法でもいいのですが、データが数百万件あるので、現実的ではありません。 Accessのインポート・エクスポートで、オートナンバーで主キーを再付番してから、B.mdbのTESTテーブルにデータ追加する方法はないでしょうか? よろしくお願いいたします。

  • Access2003からExcel2003への出力

    Access2003からExcel2003へデータを出力(エクスポート)したいのですが、 対象件数が65535行を超えるため、一括でのExcel出力ができません。 2回に分けてデータを出力するか、または何か別の方法でExcel2003に出力したいのですが、 その方法がわかりません。 どなたかお分かりになる方がおられましたら、効率の良い方法をご教示ください。

  • AccessのテーブルからExcelをイクスポートする時に・・・

    初心者な質問で恐縮ですが AccessのテーブルからExcelファイルをイクスポートすると テーブルのレイアウトが一箇所だけ必ず動いてしまいます。 例えば、テーブルで「名前・性別・年齢・資格」 と並んでいる時、出力されたExcelでは 「名前・性別・資格・年齢」 という順番で出てきてしまいます。 以下に続くデータ部分は項目に対応するものが出力されるので 年齢列を切り取り-挿入をすれば、欲しい順番のデータが手に入るのですが もしこの手間を解消する方法をご存知の方がいらっしゃいましたら 教えていただけないでしょうか。 よろしくお願いします。

  • AccessでExcelデータをインポート

    お世話になります。  Access2003/2010  Excel2003/2010 10年程前より、Access2003で作成したツール(Excel2003形式のファイルを インポート)を利用しております。 Excelファイルは毎日追加/更新しているのですが、先日、とうとうExcel2003 の行の上限である65,536行を超えてしまいました。 今後はExcel2010形式のファイル(行の上限は1,048,546行)とし、かつ、 2010形式のファイルをインポートできるようツールの修正をしなければならなく なりました。 ツールの修正というよりは、今までAccess2003上で使用していたので、そのまま Access2010上で使用したいだけなので、修正が必要がどうかも分からない 状況です。 そこで2点質問ですが、  1.現状インポートする際は、   DoCmd.TransferSpreadsheet acImport, 8, "temp", strFile, True   としておりますが、「8」の箇所は2010形式のExcelをインポートする場合   どのように修正すればよいでしょうか。   ヘルプを見ても8(Excel2000形式)までの記載しかありません。   とりあえず8のままExce2010形式で、かつ2003の行の上限を超えている   ファイルを(66000行)インポートしてみましたが、行は削れることなく   インポートできました。  2.インポート時の文字数制限について   インポートするExcelファイルの「備考」フィールドは文字数が多いのですが、   Access2003上で使用すると全ての文字列(750文字程度)をインポート   できておりました。   しかしAccess2010上で使用すると、文字列が途中で切れる(255文字)   不具合が発生しました   インポートする際は、あらかじめテーブルを作成しておき、そこに対して   Excelのデータをインポートしております。なお、「備考」のデータ型は   メモ型です。   (255文字で切れることから)恐らくAccessがインポートする時点で「備考は   テキスト型」と判断しているから255で切れてしまうのではないか、で、切れた   文字列をメモ型に入れてるだけのように見受けられるのですが。。   2003から仕様が変わってしまったのでしょうか。   上記のことから、インポートするExcelの先頭行の「備考」に、適当な文字列   (750文字)を入力し、それをインポートすると途切れることなくインポート   できました。   ※Accessがメモ型と認識したから? ※いずれもツールをAccess2010上で使用した状況です。 ご教示の程、宜しくお願い致します。

  • ACCESS(アクセス)2003→2010について

    最近ACCESS(アクセス)2010に変えたのですが、 ACCESS2003で作成したクエリについて、まれに正常にデータのエクスポートができません。 テーブルデータは、Excel2003で作成したデータをリンクテーブルとし、 同様の形式を複数組み合わせて出力させています。 もちろん、ACCESS2003では正常に出力されます。 ▽解決方法をどなたかおしえていただけませんでしょうか?