- ベストアンサー
ACCESS VBAでexcelの複数シートをインポートしたい。
ACCESS VBAでexcelの複数シートをインポートできますか。 TransferSpreadsheetでシートを指定できるのでしょうか。 宜しくお願いします。
- UKUJIMA
- お礼率73% (193/261)
- Visual Basic
- 回答数1
- ありがとう数2
- みんなの回答 (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行に合わせて作成済みで実行するのがよい。
関連するQ&A
- ACCESS VBA マクロ Excelのデータをインポートする(複数シート)
ACCESSのVBAでEXCELのシートにあるデータをインポートしたいです。シートは複数あり、シート数は作業毎に一定ではありません。データの数もシート毎に違います。(項目(column数)は全部同じです) 手作業でインポートをすると、どのシートのデータをインポートするかウイザードで選択しますが、シート数が多いので一度に同じテーブルにインポートをするVBAを組みたいのです。(データ数が多いのでエクセルで一つのシートにまとめる事が出来ません。) シート数がその都度違うので変数を使ったりVBAでインポートするのかな?と思うのですが。。。 インポートするベースのテーブルは先に作ってあり、データをインポートする際にそのテーブルに追加する形にしたいと思っています。 excelのVBAは初心者ですがAccessでのVBAの経験がありません。 ACCESSでのマクロ、VBAを良くご存知の方がいらっしゃったら是非教えてください。どうぞよろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- accessへエクセルの複数のシートのインポートの仕方
エクセルの複数のシートをアクセスにインポートをするにはどうしたらいいのでしょうか? シート数が40以上あって困っています。 できればVBAやマクロ等はわかりませんのでそれ以外の方法で無いでしょうか? よろしく御願いいたします。
- ベストアンサー
- オフィス系ソフト
- Access VBA インポート シート指定
AccessのVBA を用いて、ExcelからAccessへデータを インポートする際、ダイアログボックスを表示させて Excelのファイルを選択させるようにしています。 これをシート名まで指定させる事は可能でしょうか? ◆シートは枚数が固定されず、都度かわります。 ◆インポートしたいシート数も都度かわります。 ◆1sheet = 1 テーブルにしたいです。 ◆1度の動作で、1sheetのインポートでも、複数でもかまいません。 ◆できれば、ダイアログでファイルを選択した流れで シートまで選択される方法が望ましいです。 ◆Accessのテーブル名もテキストボックスで任意なものが 付けられるようにしたいです。 お知恵をお貸し下さい、何卒よろしくお願いいたします。
- 締切済み
- オフィス系ソフト
- access vba インポートについて
別のところで質問したのですが、回答が得られなかったので こちらで質問しまする。 昨日、accessをさわリはじめた、おっさん初心者です。 お願い:エクセルのデータをアクセスにインポートしたいです。 1つのエクセルファイルに複数(30枚)シートがあり、 それぞれのシート名で、アクセスのテーブルが複数作成できれば良いです。 アクセスのVBAにどんなコードを書けば良いのでしょうか。 1つのシートの取り込みは、 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel8, ”インポート先テーブル名", "ファイル名", True, "シート名" & "!" (全くわかってませんが、)これでできましたが、この辺がおっさんの限界でした。 色々web見たのですが、難しい・・・とりあえず、やさしく教えてください。 (1)フィールド名ごとインポートする方法 (2)すでに存在するテーブルにデータを継ぎ足す方法 テーブル”A”には 日付 獲物 調理 感想 1月1日 きつね なべ にがい 1月2日 もぐら からあげ まずい 1月3日 ぱんだ さしみ あまい ↑ ↑ ↑ ↑ ↑ シート ”A”から 1月4日 たぬき なべ ばかうま 1月5日 らっこ ひもの うまい を追加 この二つができるとうれしいです。 アクセスは2000です。 エクセルは2000です。 ウィンドウズはXPです。 エクセルは初級程度できます・・・。 基本を理解していなくてもわかる感じで助けてパソコン大先生!!
- ベストアンサー
- Visual Basic
- AccessからVBAでExcellシートのインポート
すみません。教えてください。 AccessVBAでエクセルのシートをインポートしたいのです。 いつも同じ行数ではありませんのでrange指定を埋め込むわけに行きません。 DoCmd.TransferSpreadsheet acImport, , "給与データ報告書", "c:\test\test.xls", True, "a1:p6000" でインポートできるのですが DoCmd.TransferSpreadsheet acImport, , "給与データ報告書", "c:\test\test.xls", True, "" range指定をしないとエラーになります。(出来ると書いてあるが) sheet1、ワークシート名とかの指定が出来ればと思い、いろいろ試してみたのですが出来ません。 宜しくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- エクセルからアクセスへのインポートについて
エクセルにある複数のファイルをアクセスへインポートしようとしています。エクセルには数百のシートが存在し、アクセス上で個々のテーブルにインポートしたいと考えています。一つ一つやればいいのですが、マクロなどを使って、自動的にインポートする方法はないのでしょうか?何卒よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- アクセスへエクセル複数シートのインポート
アクセス2016、エクセル2016を使っています。 マクロを使ってアクセスの1つのテーブルに複数シートがある1つのエクセルファイルをインポートしたいです。 ただしインポートするのは4枚目以降のシートのa1:i100で、レイアウトは全て同じです。 シートの枚数は状況によって変わるので、「4枚目以降は全て」ということになります。 http://www.accessclub.jp/bbs2/0032/beginter10388.html こちらが参考になるかと思うのですが、 for each~を単純にfor i = 4 To Worksheets.Countに置き換えてもうまくいきません。 「オブジェクト変数または with ブロック変数が設定されていません。」というエラーが出ます。 ただしこのエラーを閉じた後に再度実行するとエラーが出ずに取り込みができてしまいます。 全く違うやり方でも、上記を利用したやり方でも構いません。 おわかりの方、よろしくお願いいたします。
- ベストアンサー
- Excel(エクセル)
- Accessにエクセルからデータをインポートしたい(VBA)
Access(2000)のVBAでExcel(2000)からデータをインポートしたいと思います。 詳細は以下の通りです。 フォームでコマンドボタンをクリック時にダイアログボックスが開き、ファイルを指定し、該当のシート(シート名はどのファイルも固定)のデータをアクセスのテーブルにインポートしたい。 どうしたらできるのかここ数日悩んでいます。 よい方法がありましたら教えてください。
- ベストアンサー
- オフィス系ソフト
- ACCESS2000ファイルのインポートについて
ACCESS2000を使用しています。 ある指定のフォルダにある複数のEXCELファイルを、ACCESSに一括でインポートしたいです。 EXCELファイルは範囲指定を行います。(例えばb2:d100までインポートしたい) ブック名は部署名が入っており、シート名はどのブックも同一シート名です。 どのように行えばいいでしょか。 ご回答の程、どうぞよろしくお願いいたします。
- ベストアンサー
- その他MS Office製品
- Access から Excelのシートをインポート時エラー
Access の既存のテーブルにExcelのスプレッドシートからデータをインポートするため次のコマンドを実行すると、 F1フィールドがない旨のエラーメッセージが表示されます。 DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel9, "アクセスのテーブル名", "インポート元のエクセルファイル名.xls", False ここで、F1フィールドとは何でしょうか。 Excelのシートの1行目にAccessのテーブルの項目名と同名の項目名を挿入しておけば、上のコマンドの最後の引数をTrueにすればインポートは成功します。項目名のないスプレッドシートはインポートできないのでしょうか。 ご存知の方、教えてください。
- ベストアンサー
- Visual Basic
お礼
大変遅くなりました。 なかなかサイトに入れず、苦労しました。 たすかりました。True,の後ろにシートを指定できるのを知りませんでした。ありがとうございました。