- ベストアンサー
Excel VBAコンボボックスについて
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 Excelのバージョンはお書きになった方が良いと思います。 >コンボボックスプロパティのListFillRangeで範囲を指定しています ここが良くわからなかったのですが、VBAコンボボックスとのことですから、ユーザーフォームに貼り付けたComboBoxコントロールかと思います。 次のプロシージャをUserForm_Initializeイベントなどでコールするのでは、ダメですか? 'コンボボックスにアイテム追加 Private Sub SetComboboxItem() Dim rngSRC As Range Dim rngCEL As Range Dim cmbCtl As Control 'コンボボックスコントロール Set cmbCtl = Me.ComboBox1 'データ範囲 Set rngSRC = ActiveSheet.Range("A1:A7") '初期化 cmbCtl.Clear 'アイテム追加 For Each rngCEL In rngSRC With rngCEL If .Value <> "" Then '空なら追加しない cmbCtl.AddItem CStr(.Value) End If End With Next rngCEL Set rngSRC = Nothing Set cmbCtl = Nothing End Sub はずしていたら、すみません。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17068)
色々やって見ましたが駄目のようですね。範囲名(名前の定義)使用も許してくれない。 「空白行を無視する」みたいな設定はないでしょう。 (1)スペース行を飛ばして、本来の項目設定方法AddItemを使って、設定する。 (2)別列にスペース行を除いたデータ列を作る。 (注 関数でも出来ます) そして出来あがった列を対象にListFillRangeで範囲を指定する。
お礼
ありがとうございます。 「空白行を無視する」みたいな設定はないでしょう。 プロパティでそういう設定が有ればと思ったのですが。。 あまり、データ量を多くしたくなかったのですが、仕方ないですね。こちらの方法でやってみますね。ありがとうございました。
関連するQ&A
- Excel VBA コンボボックスについて
はじめまして、エクセルVBAの超初心者です。 コンボボックスを使ってマクロを組みたいのですが、どうしてで良いか分からず教えていただければと思います。 エクセルのシートに下のようなデータがあるとします A B りんご あおもり りんご ながの みかん わかやま バナナ フィリピン コンボボックス1にAセルを重複しないようにセットして コンボボックス2に1で選択されたものをセットしたいのですが。 プロパティのListFillRangeでAの範囲を選択しても、重複してしまい、それからどうして良いのかわかりません。 どなたか教えて頂けませんか?
- ベストアンサー
- その他(ソフトウェア)
- VBAのコンボボックス
現在、初めてのExcelVBAで学習しています。 ユーザーフォームの画面を作成後、コンボボックスを作成しました。 基本データはsheet1に「No・月・日」を作成してあります。 コンボボックスに選択項目の「基本データ」シートの「月範囲」を表示してくださいとありますが、どのようにリンクするのかわかりませんので、ご教授、お願いします。 ※Row Sourceに「月範囲」を設定とありますが、プロパティが設定できません。プロパティの値が無効ですと表示されます。
- ベストアンサー
- Visual Basic
- Excel VBA コンボボックスで空白を削除
Excel2010でマクロを作っています。 ユーザーフォームに多数配置済のコンボボックスに、特定のシートの特定のセル範囲(B2:B71)のデータを配列に取り込みたいのですが、セル範囲には空白セルも多数あります。コンボボックス表示時には空白を削除したいのですが、どのようにしたら良いでしょうか? なお、コンボボックスの名前には規則性があり、CbxStp1、CbxStp2、CbxStp3、・・・CbxStp31と連番にしてあるので、For i = 1 to 31 ~ Next で、コンボボックス名を「"CbxStp" & i」と指定して作れると助かるのですがいかがでしょうか。
- ベストアンサー
- その他MS Office製品
- Excel2010のコンボボックスについて
ActiveXコントロールのコンボボックスについて質問です。 ListFillRangeに一番上に文字列・以下は日付の入ったセル(日付の書式はyyyy/mm/dd)を設定しています。 コンボボックスで選択する際にリストの表示は設定したセルの通りなのですが、日付を選択するとコンボボックスのテキストエリア?の表示が標準に(41172のように)なってしまいます。 これをyyyy/mm/ddのように表示することは可能でしょうか? プロパティのどこをどのようにしたら良いのでしょうか? お願いします。
- ベストアンサー
- その他MS Office製品
- エクセル、コンボボックス/フォームのとコントロールツールボックスの
エクセル2000です。 今まではワークシートにフォームのコンボボックスを貼って使ってきました。 でも色を変えたり出来ないので、今度はコントロールツールボックスからコンボボックスを貼ってみました。 質問ですが、コンボボックスに表示させるリストを設定するのに、これまでのフォームのコンボボックスだと書式設定で入力範囲をカーソルをあてて一度に簡単に指定できたのですが、コントロールツールボックスのコンボボックスだとそれが出来ません。VBEditorのプロパティのところのListFillRangeの右側にいちいち手でSheet1!A1:A5のように打ち込まなければならないようです。これではけっこう手間がかかってしまいます。 わたしのやりかたが間違っているのでしょうか?
- ベストアンサー
- オフィス系ソフト
- DataGridViewのコンボボックスの初期値について
VB2005です。 DataGridViewでコンボボックスを作成してあります。 コンボボックスのDataSourceを指定した場合、 コンボボックスにカーソルが移ったときに、 1行目はDataSourceで指定したデータの1行目の値 (2行目以降は前の行で選択した値)が表示されが表示されてしまいます。 その値を利用したい場合、再度コンボボックスで選択しなおさないと 有効になりません。それならば、カーソルが移ったときも空白のままでは いられないのでしょうか? コンボボックスのDataSourceを指定しないで、 Itemsに値を設定したときには、カーソルが移ったときも値が 表示されないで空白のままです。このような設定にしたいのですが。 DataSourceをしてしたときには無理なのでしょうか? よろしくお願いいたします。
- ベストアンサー
- Visual Basic
- EXCEL コンボボックスの一覧
EXCELのシート上にコンボボックスがあります。 ここには、ある列のA1からデータが入っている最後のセルまで(例えばA14)の一覧を表示したいと思っています。 参照するセルの終わりが、A14やA20など、どこまでデータが入力されているかによって可変で変わります。 その場合、少し大目にA1:A50としておくと、データが入っていない空白セルまでコンボボックスの一覧に表示されてきます。 こうならないように、データが入っている範囲だけとしたい場合、どのような設定にすればよいでしょうか。 よろしくお願いします。
- 締切済み
- オフィス系ソフト
- Excel VBA コンボボックスの使い方
VBAでのコンボボックスの使い方をしらべているのですが、うまく見つかりません。コンボボックスのリストに登録するのはどうしたらよいのでしょうか?シート上のセル内のデータを使用しないとリストの登録は出来ないのでしょうか?VBA上で作成して、ユーザーフォームで選択できるようにしたいと思っています。VBAをはじめたばかりなので初歩的な質問で大変恐縮です。どなたかわかる方がいらっしゃったらお願い致します。
- 締切済み
- 会計ソフト
- コンボボックスの設定 【エクセル】
エクセルのコンボボックスについてです。 コンボボックスのリストとして 赤 青 黄色 というリストをコンボボックスの‘入力範囲’に指定します。 コンボボックスの ‘コントロールの書式設定’→‘リンクするセル’ でセルを指定すると、赤を選んだとき リンクさせたセルには 「1」とでますが、なぜ1と出るのか、というのと 私は「赤」と表示させたいのですが、そのやり方を教えて頂きたいです。 コンボボックスを初めて使うので初心者的な質問だと思いますが宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- VBAマクロのコンボボックス
フォームのコンボボックスの値の取り出しについて教えてください。 ボックスのリストはあらかじめセル範囲指定で取り込み、そのリスト値のどれかを選ぶとアクションをおこすというものを作成したいです。 (値によってアクションも変える) 詳しくお願いします。
- ベストアンサー
- オフィス系ソフト
お礼
ご回答ありがりがとうございます。シート上にあるコンボボックスを作りました。UserFormを作る程でもなかったので、一番簡単な方法でやっていました。上記のソースは今後の参考にさせて頂きたいとおもいます。ありがとうございました。