- ベストアンサー
エクセル、コンボボックス/フォームのとコントロールツールボックスの
エクセル2000です。 今まではワークシートにフォームのコンボボックスを貼って使ってきました。 でも色を変えたり出来ないので、今度はコントロールツールボックスからコンボボックスを貼ってみました。 質問ですが、コンボボックスに表示させるリストを設定するのに、これまでのフォームのコンボボックスだと書式設定で入力範囲をカーソルをあてて一度に簡単に指定できたのですが、コントロールツールボックスのコンボボックスだとそれが出来ません。VBEditorのプロパティのところのListFillRangeの右側にいちいち手でSheet1!A1:A5のように打ち込まなければならないようです。これではけっこう手間がかかってしまいます。 わたしのやりかたが間違っているのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 >この意味が良くわかりませんでした。 エクセル(VBA)ではリストに出す範囲を指定するだけですが、 VBのコンボボックスの項目(アイテム)の登録はListFillRangeがないので、AddItemを項目数だけ、記述 する必要があると言うことを言いたかったのです。 エクセル(VBA)では手数が省けていると思います。
その他の回答 (2)
- imogasi
- ベストアンサー率27% (4737/17069)
ものは考え様です。 これがあるお陰で、VBAのコーディング面では AddItemを連発したり、コーディングしなくて良いので、私は喜んでいます。 コントロール上で、右クリックして、プロパテイを出す。アドレス範囲が手打ちになりますが。
お礼
ありがとうございました。 > これがあるお陰で、VBAのコーディング面では AddItemを連発したり、コーディングしなくて良いので、私は喜んでいます。 この意味が良くわかりませんでした。
- mshr1962
- ベストアンサー率39% (7417/18945)
間違ってませんよ。 ただ「コントロールツールボックス」ツールバーの 「プロパティ」ボタンで表示されませんか? あとドロップダウンリストでいいなら 「データ」「入力規則」「設定」タブの「入力値の種類」を「リスト」にして 「元の値」に「=$A$1:$A$5」 の様にする方法もあります。 別のシートのセルを設定したい場合は 「挿入」「名前」「定義」で名前付けして「元の値」を「=名前」 にすれば設定できます。 こちらの場合はコピーできるので列や行に同じ設定が必要な時は便利です。
お礼
さっそくありがとうございます。 >「プロパティ」ボタンで表示されませんか? あら、これは知らなかった。 間違っていないということは、カーソルでリスト範囲の指定は出来ないということなんですね? これって不便ですねえ! フォームのドロップダウンなら簡単に指定できるのに・・・。なんででしょう? 「入力規則」のドロップダウンは知ってますが、あれも色を変更できないですよね。
お礼
お礼が大変遅くなり申し訳ありませんでした。 なるほどVBはもっと不便ということなんですね。 でもVBAならやはりフォームのコンボボックスの方が範囲の指定が楽ですよねえ。