アプリ版:「スタンプのみでお礼する」機能のリリースについて

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

A 回答 (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

はずしていたら、すみません。
    • good
    • 0
この回答へのお礼

ご回答ありがりがとうございます。シート上にあるコンボボックスを作りました。UserFormを作る程でもなかったので、一番簡単な方法でやっていました。上記のソースは今後の参考にさせて頂きたいとおもいます。ありがとうございました。

お礼日時:2004/11/16 21:09

色々やって見ましたが駄目のようですね。

範囲名(名前の定義)使用も許してくれない。
「空白行を無視する」みたいな設定はないでしょう。
(1)スペース行を飛ばして、本来の項目設定方法AddItemを使って、設定する。
(2)別列にスペース行を除いたデータ列を作る。
(注 関数でも出来ます)
そして出来あがった列を対象にListFillRangeで範囲を指定する。
    • good
    • 0
この回答へのお礼

ありがとうございます。
「空白行を無視する」みたいな設定はないでしょう。
プロパティでそういう設定が有ればと思ったのですが。。
あまり、データ量を多くしたくなかったのですが、仕方ないですね。こちらの方法でやってみますね。ありがとうございました。

お礼日時:2004/11/16 21:10

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています