• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ExcelをAccess(VBA)にインポート)

ExcelをAccess(VBA)にインポートする方法とは?

このQ&Aのポイント
  • ExcelをAccessにインポートする方法について教えてください。
  • 特定のExcelファイルをVBAを使用してAccessにインポートする際、表の形式によっては加工が必要な場合があります。
  • ExcelファイルをVBAでインポートする前に、Excel上で表の形式を整える必要があるかもしれません。

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

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

No2 の方の参照先でも説明されてますが、 TransferSpreadsheetメソッドのRange引数で、セル範囲、または名前付き範囲 を指定できます。また、HasFieldNames引数を True にすれば先頭行をフィールド名とします。 今回は、6行目が見だし、7行目からデータですので、 DoCmd.TransferSpreadsheet acImport, , _ "取り込み先テーブル","C:\DATA\取り込み元ファイル.xls", True, "A1:G99" とすれば、希望に近いものになるのでは。

naoto0216
質問者

お礼

お礼が遅くなり申し訳ございません。 ご回答ありがとうございます。 まだ試しておりませんが、参考にさせて頂きます。 ありがとうございます。

その他の回答 (2)

  • t-ka
  • ベストアンサー率28% (14/50)
回答No.2

簡単に使う場合はそのままインポートしてクエリで別名と関数を被せれば良いでしょう。 しかし、業務で使用する数値(金額等)に関してはエラー処理は必須です。 ACCESS側からEXCEL参照:ADO等を用いれば全て処理出来ます。 http://www.moug.net/tech/acvba/0090032.htm

naoto0216
質問者

お礼

お礼が遅くなり申し訳ございません。 ご回答ありがとうございました。 参考にさせて頂きます。

回答No.1

Excel側で加工することが可能なら、 エクスポートしたいセルを、名前付き範囲として定義すれば、 その名前を指定してインポートすることができます。 詳細は下記を参照。 Excel ブックのデータのインポートとリンクの設定 - Access - Office.com http://office.microsoft.com/ja-jp/access-help/HA001219419.aspx#BM1

naoto0216
質問者

お礼

ご回答ありがとうございました。 加工すればインポートできることは理解しているのですが、 できれば、Accessを操作するユーザーにあまり意識させず そのままインポートして、VBAでどうにかしたいところです。 当該表を手動でインポートする場合、見出しがフィールド1 ・・・7となります。 その後、フィールド1(Noの列)を数値で抽出すれば、とりあえず 目的のデータのみ取得できるので、後は見出しを変更して あげればいいのかなぁと思ってるのですが。。このような 表のVBAでのインポート方法が分からないでいます。

関連するQ&A