- 締切済み
EXCELLデーターをACCESSへインポート
EXCELLの特定ファイルの特定シートで任意に範囲を指定してACCESSのテーブルにインポートしたいのですが、現在”DoCmd.TransferSpreadsheet [transfertype][, spreadsheettype], tablename, filename[, hasfieldnames][, range] と言った、プログラミングで出きるのか思考錯誤しています。最後のEXCELLシート内の任意の範囲のプログラミングがわからず(もしかすると不可能なのか?)困っています。どなたか教えていただけないでしょうか?
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- ruru0707
- ベストアンサー率68% (20/29)
範囲を指定する事は可能です。 Rangeの所の指定の仕方は・・・ シート全体を指定する場合は、Sheet1!のように記述します。 セルの範囲を指定する場合は、Sheet1!A1:D12のようにシート名とセルの範囲を!でつないで記述します。 アクセスのヘルプの「"TransferSpreadsheet/ワークシート変換" アクション」を見ると詳細が記載されています。 ちなみに「TransferSpreadsheet メソッド」のヘルプには記述の仕方の詳細は出ていませんのでご注意下さい。
Accessのヘルプに 次の例では、Lotus のワークシート Newemps.wk3 の指定した範囲から Access の [社員] テーブルにデータをインポートします。ワークシートの 1 行目はフィールド名として使います。 DoCmd.TransferSpreadsheet acImport, 3, _ "社員","C:\Lotus\Newemps.wk3", True, "A1:G12" があります。 範囲は「範囲名(名前)」も使えるようです。 とにかくペルプの目次から、 「Visual Basic プログラミング」→「Microsoft Access Visual Basic リファレンス」 →「メソッド」→「T-U」→「TransferSpreadsheet メソッド」 を見てください。
お礼
ありがとうございます。 質問内容が足らなかったのですが、特定のシートに対しての範囲指定はできるのはわかったのですが、代数を用いた任意の範囲指定ができないものかと、考えておりました。とりあえず、現在は別の方法で進めようと方向転換しています。回答いただいて感謝しております。