プロが教える店舗&オフィスのセキュリティ対策術

VBAについて質問です。

イメージとして画像を添付しておりますので、そちらを基に実現したいことを質問させて頂きます。(もし画像が見にくい場合は申し訳ありません)

■実現したいこと①
商品名の列があるかと思うのですが、その列に順番に商品名が入力されていきます。入力された商品名を基にDB_商品テーブルから材料IDを取得し、ExcelのF列に持ってきたいです。

■実現したいこと②
DBから材料IDの取得ができた際に、Excelの機能である「データの入力規則」を使用し、リスト形式として表示させたいです。またそのリストにはDBから取得した該当する材料IDのみが存在する形を取りたいと考えています。(※もし材料IDが無かった場合は空白にしたい)

以上が実現したいこととなりますが、まずこれらがVBAで可能なのかどうかも分からないのですが、もし可能であるならば、どのようなプログラムになるのか、簡単にサンプルプログラム等を書いて頂けますと幸いです。
商品名の列はこの先も入力されていきますので、都度そのセルを取得してSQLを発行し、データを取得する。というイメージなのでしょうか。

何卒宜しくお願い致します。

「【VBA】特定のセルを取得し、DBからデ」の質問画像

A 回答 (1件)

②については元々1つしかないようなので、選択させる?余地は不要と思えるのですけど。



DBが何を指しているのか不明ですが、Accessなどを用いるってなれば都度それは必要な事ではないかなと。(まして追加や削除・更新などがあれば最新版が必要でしょうし)

推測にしかなりませんが入力規則をズラッと並べるとちょっと重くならないかなと。
昔のバージョンしか知らないので今のなら平気でしたらスルーっと。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

>②については元々1つしかないようなので、選択させる?余地は不要と思えるのですけど。

こちらは私の説明不足だったのですが、DB_商品テーブルの材料IDには同じ商品名でも複数の材料IDがある想定です。例えば商品テーブルの商品名「いちご」に材料IDのZ6が存在する等です。この場合、商品名にいちごを入力すれば、材料ID列にZ5とZ6のリストが表示される。というイメージです。

なので入力規則を設定し、商品名が入力されたら、その商品名を取得してリスト形式で該当するデータしか表示されない仕組みを作りたいという背景になります。

>入力規則をズラッと並べるとちょっと重くならないかなと。
月1回程度使用されるくらいのExcelファイルですので、そこまで負荷を気にしていないので、入力規則で問題無いかと考えています。


DBはSQL Server Ver18.4です。


宜しくお願いいたします。

お礼日時:2022/01/12 10:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!