• ベストアンサー

エクセル、コンボボックス/フォームのとコントロールツールボックスの

エクセル2000です。 今まではワークシートにフォームのコンボボックスを貼って使ってきました。 でも色を変えたり出来ないので、今度はコントロールツールボックスからコンボボックスを貼ってみました。 質問ですが、コンボボックスに表示させるリストを設定するのに、これまでのフォームのコンボボックスだと書式設定で入力範囲をカーソルをあてて一度に簡単に指定できたのですが、コントロールツールボックスのコンボボックスだとそれが出来ません。VBEditorのプロパティのところのListFillRangeの右側にいちいち手でSheet1!A1:A5のように打ち込まなければならないようです。これではけっこう手間がかかってしまいます。 わたしのやりかたが間違っているのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.3

#2です。 >この意味が良くわかりませんでした。 エクセル(VBA)ではリストに出す範囲を指定するだけですが、 VBのコンボボックスの項目(アイテム)の登録はListFillRangeがないので、AddItemを項目数だけ、記述 する必要があると言うことを言いたかったのです。 エクセル(VBA)では手数が省けていると思います。

error123
質問者

お礼

お礼が大変遅くなり申し訳ありませんでした。 なるほどVBはもっと不便ということなんですね。 でもVBAならやはりフォームのコンボボックスの方が範囲の指定が楽ですよねえ。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

ものは考え様です。 これがあるお陰で、VBAのコーディング面では AddItemを連発したり、コーディングしなくて良いので、私は喜んでいます。 コントロール上で、右クリックして、プロパテイを出す。アドレス範囲が手打ちになりますが。

error123
質問者

お礼

ありがとうございました。 > これがあるお陰で、VBAのコーディング面では AddItemを連発したり、コーディングしなくて良いので、私は喜んでいます。 この意味が良くわかりませんでした。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

間違ってませんよ。 ただ「コントロールツールボックス」ツールバーの 「プロパティ」ボタンで表示されませんか? あとドロップダウンリストでいいなら 「データ」「入力規則」「設定」タブの「入力値の種類」を「リスト」にして 「元の値」に「=$A$1:$A$5」 の様にする方法もあります。 別のシートのセルを設定したい場合は 「挿入」「名前」「定義」で名前付けして「元の値」を「=名前」 にすれば設定できます。 こちらの場合はコピーできるので列や行に同じ設定が必要な時は便利です。

error123
質問者

お礼

さっそくありがとうございます。 >「プロパティ」ボタンで表示されませんか? あら、これは知らなかった。 間違っていないということは、カーソルでリスト範囲の指定は出来ないということなんですね? これって不便ですねえ! フォームのドロップダウンなら簡単に指定できるのに・・・。なんででしょう? 「入力規則」のドロップダウンは知ってますが、あれも色を変更できないですよね。

関連するQ&A

  • Excelのフォームコントロールのコンボボックス。

    とあるファイルで、Excelの開発→フォームコントロール→コンボボックスで 中の値を選択すれば、その数値の倍率にシートがズームされるという機能のモノがありました。 それをやりたいのですが、どうすればいいのでしょうか。 コンボボックスを設置して、書式設定などからプロパティなど見ましたがいまいちわかりません。

  • エクセル、コントロールツールボックスでListBoxへの範囲の設定方法

    エクセル、コントロールツールボックスでListBoxへの範囲の設定方法について疑問があります。 ワークシート上にフォームコントロールのListBoxではなくコントロールツールボックス(ActiveXコントロール?)のListBoxを配置した場合、リストの範囲をSheet1のA1:A10と設定するには、RistFillRange欄にSheet1!A1:A10と一々手入力しなければいけないのでしょうか? フォームコントロールのListBoxの場合は、「コントロールの書式設定」の「コントロール」で入力範囲をドラッグするだけで自動的に入力され、とても便利だったのですが、ActiveXコントロールを使おうと思うととても面倒です。 それともわたしがやりかたをまちがえているのでしょうか?

  • ユーザーフォーム上のコンボボックスのリンク先はどうやって指定?

    エクセル97です。ユーザーフォームにおいたコンボボックスに表示させたいワークシート上のリスト、およびコンボボックスで選択された値をリンクさせたいセルの指定方法がわかりません。オプションボタンやチェックボックスのリンク先指定方法もわかりません。またユーザーフォームには「OK」「キャンセル」ボタンもないのでしょうか? エクセル95のときはダイアローグシートにコンボボックスを置き、コントロールの書式設定で簡単に指定が出来たのですが、97に変えてからは、敢えてエクセル5.0のダイアローグを挿入しないといけないようなので、出来ればユーザーフォームで作ってみたいのです。どうかよろしくお願いします。

  • エクセルのシートにコンボボックスを配置しようとしています。

    エクセルのシートにコンボボックスを配置しようとしています。 コントロールツールボックスのコンボボックスは、見た目があまりよくないところが 気になります。 ドロップダウンのボタンのデザインが角ばってることや シートのフォントと同一のフォントに設定してもちょっと違う(なぜ?)とこなど、 気にいりません。 フォームのコントロールは名前が変更できず、VBの関数がドロップ1_Change()などとなるため、 後に管理しづらそうで心配しています。 コントロールツールボックスのコンボボックスの見た目を改善する方法、または、 フォームのコントロールの名前を変更する方法がありましたら、 教えてください!!

  • EXCELのコントロール ツールボックスの使い方

    EXCELの「コントロール ツールボックス」でEXCELシート上にコンボボックスをつくって、その中からデータを選びたいのです。どのようにしたらコンボボックス内に選択対象のデータが出るようになるでしょうか?

  • ワークシートとコンボボックスを共存させたい

    エクセルのVBAで、ワークシートの左側にコンボボックスを設置することはできますか? コンボボックスにA、B、Cとあるとすると、Aをクリックしたら右側にAのsheetが開くようにしたいのですが。 もしくは、VB2005で、フレームの左右、または同じフォームの中で左側にコンボボックス、右側にワークシートを設置する方法はありますか? どちらか可能な方法でプログラムを組み、ワークシート上にはユーザーが数値を打ち込んで自動計算できるようにしたいのですが。 よろしくお願いします。

  • コンボボックスのコントロール

    コンボボックスの書式設定について教えていただけますか? コンボボックスのコントロールの《リンクするセル》を簡単に変更する方法はありますか? コンボボックスを30コ作りたいのですが、コンボボックスをコピーすると 《リンクするセル》も同じものがコピーされてしまいます。 関数のように順番にセル番号が変化しません。 これをひとつづつ手入力をするのが大変なので こーすると早いよ! などの方法があったら教えていただけませんか? よろしくお願い致します。

  • エクセルファイルのコンボボックスの作り方 1列全部

    win10 office365 エクセルファイルのコンボボックスの作り方は 検索で出ては来ますが、セルA1だけにおいて セルB1からB5までをリストとしたときに コントロールの書式設定において 入力範囲が$B$1:$B$5 次のリンクするセル A1とすれば できるのですが、 これですともしA1からA31までに このコンボボックスの5行からの選択肢から 選んでA*セルにテキストを入れたいときに リンクするセルの設定を いちいち31個 作らないとならないように思われます 要は、A1からA31の31個のセルに コンボボックスからの5つの選択肢から選んで 入力したいのですが、 この作業はaccessのフォームですと、しばしば見かける スタイルではありますが、エクセルで実施するためには どのようにしたらよいでしょう サイトも検索をいろいろしましたが、一つのフォームで コンボボックスを作成して、データ入力する、など 目的のものが見当たりません。 すみません 宜しくお願い致します

  • Excel2010のコンボボックスについて

    ActiveXコントロールのコンボボックスについて質問です。 ListFillRangeに一番上に文字列・以下は日付の入ったセル(日付の書式はyyyy/mm/dd)を設定しています。 コンボボックスで選択する際にリストの表示は設定したセルの通りなのですが、日付を選択するとコンボボックスのテキストエリア?の表示が標準に(41172のように)なってしまいます。 これをyyyy/mm/ddのように表示することは可能でしょうか? プロパティのどこをどのようにしたら良いのでしょうか? お願いします。

  • Excel VBAコンボボックスについて

    はじめまして、コンボボックスで選択したデータをセルに書き出すプログラムを作成しております。 コンボボックスプロパティのListFillRangeで範囲を指定していますが、途中空白のセルがあるため、空白セルまでコンボボックスに取り込まれてしまいます。 このListFillRangeの範囲を設定したまま、空白はコンボボックスに取り込まないようにする方法ってあるんでしょうか??お分かりになる方いらっしゃいましたら、お願い致します。

専門家に質問してみよう