• ベストアンサー

ACCESS VBAでexcelの複数シートをインポートしたい。

ACCESS VBAでexcelの複数シートをインポートできますか。 TransferSpreadsheetでシートを指定できるのでしょうか。 宜しくお願いします。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

質問の書き方があいまい。 >複数シートをインポートできますか 複数の、の指定方法が問題で、どういう風に指定したいのかによる。 多分一部の引数に書き連ねることをイメージしているなら出来ないでしょう。 ーー また1つのテーブルに集約したいのか(当然列構成や内容はシートごとに同じであるべき)。 ーー モジュールに Sub test04() DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, _ "社員7", "C:\Documents and Settings\xxxx\My Documents\01化.xls", True, "検索表!A1:G12" End Sub で確かに01化ブックの検索表シートのセル範囲A1:G12をインポートしたことは確認済み。 こういうのをブック、シート、セル範囲を変えたものを下の行に書き連ねて実行するか、 一部の部分、例えばブック、シート、セル範囲を各々変数名にして、毎回適当に変えてはDoCmd.TransferSpreadsheet を実行するよう繰り回しをすれば出来るといえる。 参考 http://www.accessclub.jp/bbs3/0449/superbeg131871.html 複数シートの指定。 同じシート指定で上記コードTest04を繰り返し実行すると、ダブってデータが累積していく。それから判るように、シートの違うDoCmd.TransferSpreadsheet を書き連ねて実行しても、レコードが累積していく。 テーブルのフィールド名は、エクセルデータの第1行に合わせて作成済みで実行するのがよい。

UKUJIMA
質問者

お礼

大変遅くなりました。 なかなかサイトに入れず、苦労しました。 たすかりました。True,の後ろにシートを指定できるのを知りませんでした。ありがとうございました。

関連するQ&A

専門家に質問してみよう