- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAで、ユーザーフォーム初期化時のエラー)
エクセルVBAでユーザーフォーム初期化時に発生するエラー
このQ&Aのポイント
- エクセルVBAを使用している際に、ユーザーフォームの初期化時に「コンパイルエラー:メソッドまたはデータメンバが見つかりません。」というエラーが発生します。
- このエラーは、コンボボックスにリストをセットする際に使用する「ListFillRange」というメソッドが見つからないために発生します。
- エクセル97では、ListFillRangeメソッドが使えない可能性があるため、別の方法を探す必要があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Combobox1.Clear の代わりに Combobox1.RowSource = "" としてみたらどうでしょう。
その他の回答 (1)
- taocat
- ベストアンサー率61% (191/310)
回答No.1
>RowSource で設定してしまうと、後にリストが変更できないと教わりましたので この意味がちょとわからないのですが。。 以下のとおりです。 Userform上の Combobox は RowSource Sheet上の Combobox は ListfillRange 以上。
質問者
お礼
ご回答どうもありがとうございます。 シート上に配置かユーザーフォーム上に配置かでプロパティが変わってくるのですね。どちらも使えると思っていましたのでとても勉強になりました。 >> RowSource で設定してしまうと、後にリストが変更できないと教わりましたので > この意味がちょとわからないのですが。。 ComboBox2の値を選択した時に、ComboBox1のリストの値を変更しなくてはいけないのですが、 Private Sub ComboBox2_Change() ComboBox1.Clear 'ここにリストの設定用コードが入ります End Sub 上記のコードで「実行時エラー'-2147467259(80004005)予期せぬエラーが発生しました。」 と出て、ComboBox1.Clearの部分が黄色くなってしまうのです。 これを回避する方法を探しているのですが…。 どうぞよろしくお願いします。
お礼
うまくリストの変更ができました! どうもありがとうございます。