回答受付中の質問
Excel VBA機能で、ドロップダウンリストの選択肢からセルに値を設定したい。
リスト形式のシート(仮にA)の内容を、VBAを使って単票形式のlシート(仮にB)に展開したいと考えています。ところがBのシートには、入力規制のあるセルもあり、ドロップダウンリストからの選択になっています。
今、シートBのセルA1の選択肢を仮に”AAA,BBB,CCC”として、VBAを用いてA1にBBBを設定(選択)する方法をご教示頂きたいと存じます。
ひと通り過去ログは拝見しましたが、恐らく私の見落としとは思うのですが、それらしいものは見当たらないので、質問させて頂きました。宜しくお願いします。
投稿日時 - 2010-08-25 15:31:38
4人が「このQ&Aが役に立った」と投票しています
回答(2件中 1~2件目)
>もし可能なら、『選択肢のn番』という方法で指定出来ないだろうか
>それを選択肢の2番として、B表のA1に『BBB』に
>表示させるという事です。
いまいちわかってませんけれど、No1様の回答のように単純にBBBという値を代入すれば、そのセルに入力規則が設定されていてBBBが2番目であれば、2番目のBBBが選択された状態になりますけれど、そういうことではないのでしょうか?
値がリストの何番目かを調べるには、
Range.Validation.Formula1
を調べれば入力規則のリストが得られますので(定義方法によって、リスト形式の場合とRangeの場合とあり)、現在の値と照合すればn番目ということを調べることは可能ですけれど、その必要があるようにも思えませんけれど…?
投稿日時 - 2010-08-30 11:07:22
こんにちは。
上記の例で、「"AAA,BBB,CCC"から選択」と書かれていますが、リスト形式のA表には、入力させたい値"BBB"がそのまま入っているのですか?
それなら、その"BBB"をそのままB表のセルA1に代入するだけで良いと思います。(入力規則の有無は無関係です。)
他に条件があるか、上記の方法では問題があるのなら、補足してください。
では。
投稿日時 - 2010-08-25 16:20:28
補足
早速のご回答ありがとう御座いました。御礼申し上げます。
しかし、私の説明が不足しておりました。ご回答頂いた方法は実現しておりましたが、
もし可能なら、『選択肢のn番』という方法で指定出来ないだろうか、という事を
模索しております。
今回の例で言うと、A表には『BBB』が入力されており、それを選択肢の2番として、
B表のA1に『BBB』に表示させるという事です。
説明が足りず失礼しました。何卒、宜しくお願い申し上げます。
投稿日時 - 2010-08-25 16:41:21