Excelのブックに2シートあります。
シート1にはコンボボックス商品を選択させる行が複数あります。
シート2には、商品名がずらっと並んでいます。
(その商品名をシート1のコンボボックスで選択)
シート1上にコマンドボタンを設定して、
コマンドボタンを押すと、アクセスのクエリで
抽出したデータ(商品名)を返したいのです。
マクロに外部データの取り込み→アクセスクエリ→
シート2の行にデータを返す。
事はできましたが、それをコマンドボタンに
上記マクロを書き込むことはできるのでしょうか?
表現が下手ですみません。。
よろしくお願い致します。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
ご質問者の方は、あまりレスポンスがよくありませんが、
たぶん、ご質問者の方の内容からして、記録マクロだと思うのです。私は、どこかで同じ回答をした覚えがあるのですが、QueryTable.Addで、出力先が決められてしまっています。ですから、それを、Sheets("Shee1").Selectととしても、もともとが、決まったシートに設定されたものですから、シートを変えるとエラーになってしまいます。
最初に、特定のシート(Sheet1)に変えておいて、QueryTable を作ったら、そのQueryTable を Refresh すればよいのですね。
ただ、話は、それで終わらないのは、これは、MS-Queryなので、SQLを作るのではなくて、パラメータ(検索値)があると良いのですね。それをどこかに置かないと、目的には達成しないわけです。
実際に、Excelにパラメータを入れて検索するのでしたら、単に、セルに、パラメータを入れるだけで、イベントを生じて、Accessから取り出しが利くわけです。VBAは必要ないのです。もうひとつ、ややこしいのは、Access と検索演算子が違うのですね。SQLを扱う人なら分ることでも、そんなテキストは、ヘルプでは、読みきることが出来ません。
ある程度、この取り扱いに慣れていれば理解できるけれども、最初からだと、ちょっとむつかしいような気がします。
この手の参考サイトとか参考テキストがあるとよいのですね。
今、Google検索してみたのですが、ヒットしませんでした。
私を含めて、この種の検索って、だいたいは、VBAのADOConnectionで行ってしまいますので、検索しても、そちらの方向だけのようです。
No.3
- 回答日時:
出張でずいぶん遅くなりました。
エラーが出ると言うことですが、マクロの実行からだと出ないのでしょうか。
別のシートからマクロを実行するためかもしれません。
macro1 のはじめの行に
Sheets("Sheet2").Select
そして最後の行に
Sheets("Sheet1").Select
で戻すように入れたらどうでしょうか。
No.2
- 回答日時:
こんばんは。
中途半端な回答になって申し訳ないのですが、通常は、Accessデータベースファイルにアクセスして取り出すのは、ADO オブジェクトを使用しますが、Excelの「外部データの取り込み」って、ODBCを使って、シートに
QueryTablesが生成されるわけですから、
パラメータを入れたら、ボタンは、
確か、
ActiveSheet.QueryTable.Refresh
だけでよかったような気がしますね。
No.1
- 回答日時:
コマンドボタンをデザインモードでダブルクリックしてください。
VisualBasicEditorが起動します。
Private sub CommandButton・・・・
の次にマクロ名を記入してやってください。
この回答への補足
クエリのデータ取り込みマクロを作成し(Macro1)
シート2に取り込みました。
シート1のコマンドボタンのコードは、
Private Sub GetProject_Click()
Macro1
End Sub
としました。そうしましたら、
実行時エラー -2147024809(80070057)
取り込み先の範囲は、クエリテーブルが作成された同じ
ワークシートにありません。
とエラーが出ました。。。
同じワークシートにデータをとりこまなくては
ならない、ということでしょうか??
すみませんがよろしくお願いいたします。
クエリのデータ取り込みマクロを作成し(Macro1)
シート2に取り込みました。
シート1のコマンドボタンのコードは、
Private Sub GetProject_Click()
Macro1
End Sub
としました。そうしましたら、
実行時エラー -2147024809(80070057)
取り込み先の範囲は、クエリテーブルが作成された同じ
ワークシートにありません。
とエラーが出ました。。。
同じワークシートにデータをとりこまなくては
ならない、ということでしょうか??
すみませんがよろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
マクロを複数シートに実行する...
-
エクセルでシートの並び替えで...
-
エクセル2013でマクロのボタン...
-
EXCELでワークシートを開いたら...
-
VBA シート名を先月の名前に...
-
Excelのマクロの呼び出し元を知...
-
EXCELの起動時に常に同じ...
-
【 Excel】シートの見出しに自...
-
エクセルの複数のワークシート...
-
エクセル・複数のシートを一度...
-
EXCELでマクロを使わずに図形の...
-
【Excel】複数あるシート上の住...
-
マクロを特定の複数シートで実...
-
エクセルで回数をカウントする...
-
エクセルで複数のSheetを一括フ...
-
エクセルVBA/シートのチェ...
-
マクロで複数シートに条件付き...
-
【マクロ】列を一括非表示/表示...
-
Excel VBAでオートメーションエ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
エクセルを開いたとき常に同じ...
-
エクセルでシートの並び替えで...
-
VBAで条件によってシート見出し...
-
マクロを特定の複数シートで実...
-
Excelのマクロの呼び出し元を知...
-
EXCELでワークシートを開いたら...
-
複数シートの保護・解除
-
エクセルで複数のSheetを一括フ...
-
エクセル2013でマクロのボタン...
-
VBA シート名を先月の名前に...
-
EXCELでマクロを使わずに図形の...
-
EXCELの起動時に常に同じ...
-
EXCELのエラー
-
メッセージボックスでシート名...
-
エクセルVBAでcmbBoxのプロパテ...
-
マクロ 各シートの決められた位...
-
エクセルで回数をカウントする...
おすすめ情報