VBA講座ツイート今回はワークシートのセルに入力した値をコンボボックスに読み込ませるコードを書いていきます。この作業を行ってはじめて、コンボボックスに選択肢が表示されるようになります。それでは早速いきましょう。Basicの画面を開いて下さい。右側のコードウインドウを見て下さい。今は上の画像のようになっていますね。Subこの意味は何でしたか?「ユーザーフォームを開いた時に○を行う」でしたね。○の部分に以下のコードを書いていきます。2).ValueNextと入力して下さい。このコードの説明はVBA講座2-9で行いましたので割愛します。それではF5を押して実行してみましょう。cboTaniの右側の下矢印をクリックしてみましょう。単位の候補が並んでいるのを確認して下さい。右のスクロールバーを下に移動させて、しっかりUまで追加されているのを確認して下さい。このようにしてコンボボックスに選択肢を追加します。これで完成としたい所ですが、これだけだとちょっと不親切です。使いやすくするためにもう一手間加えましょう。スポンサーリンクコンボボックスの初期値を設定するここまでの作業で、単位をいちいち入力せずとも選べるように設定することができました。あとひと手間加えると更にシステム利用者が喜ぶことがあります。知らない方もいるかもしれませんが、薬で一番多い剤形は錠剤です。来た方もいるかもしれませんね。新規でシステムに登録する薬が錠剤の場合、最初から錠剤の単位を示すTが入っていれば、毎回選択しなくてもよくなります。いう気遣いがとっても大切なんですよ。医療関係に限りませんが、市販のシステムで「これはユーザーのことを考えているな~」「値段に見合っているな~」と思えるものはそう多くはありません。「何をどうしたらこんな仕様が通るんだ?」というくらいひどいものも少なくありません。皆さんはとにかくシステムを利用する人のことを考えながら作ってくださいね。cboTani.List(0)これを入れるだけです。=の左側cboTani.ValuecboTaniのValue(.は基本「の」と読む)は、つまり「コンボボックス単位の値は」となります。ここまではOKですね?=の右側cboTani.List(0)cboTaniのリストの0番目、つまり「コンボボックス単位のリストの0番目」となります。う~ん、イマイチよくわかりませんね。VBAの一番上は1ではなく、0とカウントするここでいうリストとはコンボボックスに追加した値「T~U」を意味します。これはいいですね?そして普通は一番上のTを1番目とカウントすると思いますが、VBAの場合、一番上を0とカウントするのです。cboTani.List(0)はTを意味します。以上から、「コンボボックス単位の値はリストの1番目のTである」という意味になります。F5キーを押して実行してみましょう。Tが最初から入っている事を確認して下さい。この辺が一般的な考え方と違うのでちょっと難しいですね。それでは今回はこれで終了とさせて頂きます。次回はコンボボックス採用区分の方も同じようにワークシートの値を読み込ませますが、ちょっとコードの書き方を変えて、汎用性を高めます。応用が効くコードに挑戦しましょう。どこよりもやさしい!初心者のためのExcelVBAの。