dポイントプレゼントキャンペーン実施中!

Excel97を使用しています。

コンボボックスにリストをセットしようとして、

Private Sub Workbook_Open()
Range("A1:A5").Name = "社員"
'セル範囲はブックを開く度に変わります
End Sub

Private Sub UserForm_Initialize()
ComboBox1.ListFillRange = "社員"
End Sub

というコードを書いたのですが、
「コンパイルエラー:メソッドまたはデータメンバが見つかりません。」というエラーが出てきて、
.ListFillRange =
の部分が選択されてしまいます。

ListFillRange を RowSource に変更するとエラーは出ないのですが、RowSource で設定してしまうと、後にリストが変更できないと教わりましたので、これ以外でコンボボックスにリストをセットする方法がありましたら教えて下さい。

プロパティ/メソッドの一覧にListFillRangeが見当たらなかったので、もしかしたらエクセル97では使えないのでしょうか?

どうぞよろしくお願いします。

A 回答 (2件)

Combobox1.Clear  の代わりに



Combobox1.RowSource = ""

としてみたらどうでしょう。
 
    • good
    • 0
この回答へのお礼

うまくリストの変更ができました!
どうもありがとうございます。

お礼日時:2004/11/12 10:41

>RowSource で設定してしまうと、後にリストが変更できないと教わりましたので



この意味がちょとわからないのですが。。
以下のとおりです。


Userform上の Combobox は RowSource

Sheet上の Combobox は ListfillRange


以上。
    • good
    • 1
この回答へのお礼

ご回答どうもありがとうございます。

シート上に配置かユーザーフォーム上に配置かでプロパティが変わってくるのですね。どちらも使えると思っていましたのでとても勉強になりました。

>> RowSource で設定してしまうと、後にリストが変更できないと教わりましたので
> この意味がちょとわからないのですが。。
ComboBox2の値を選択した時に、ComboBox1のリストの値を変更しなくてはいけないのですが、

Private Sub ComboBox2_Change()
 ComboBox1.Clear
 'ここにリストの設定用コードが入ります
End Sub

上記のコードで「実行時エラー'-2147467259(80004005)予期せぬエラーが発生しました。」
と出て、ComboBox1.Clearの部分が黄色くなってしまうのです。

これを回避する方法を探しているのですが…。
どうぞよろしくお願いします。

お礼日時:2004/11/11 15:47

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

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