• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVBAで、ユーザーフォーム初期化時のエラー)

エクセルVBAでユーザーフォーム初期化時に発生するエラー

このQ&Aのポイント
  • エクセルVBAを使用している際に、ユーザーフォームの初期化時に「コンパイルエラー:メソッドまたはデータメンバが見つかりません。」というエラーが発生します。
  • このエラーは、コンボボックスにリストをセットする際に使用する「ListFillRange」というメソッドが見つからないために発生します。
  • エクセル97では、ListFillRangeメソッドが使えない可能性があるため、別の方法を探す必要があります。

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

  • ベストアンサー
  • taocat
  • ベストアンサー率61% (191/310)
回答No.2

Combobox1.Clear  の代わりに Combobox1.RowSource = "" としてみたらどうでしょう。  

takahiro_
質問者

お礼

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

その他の回答 (1)

  • taocat
  • ベストアンサー率61% (191/310)
回答No.1

>RowSource で設定してしまうと、後にリストが変更できないと教わりましたので この意味がちょとわからないのですが。。 以下のとおりです。 Userform上の Combobox は RowSource Sheet上の Combobox は ListfillRange 以上。

takahiro_
質問者

お礼

ご回答どうもありがとうございます。 シート上に配置かユーザーフォーム上に配置かでプロパティが変わってくるのですね。どちらも使えると思っていましたのでとても勉強になりました。 >> RowSource で設定してしまうと、後にリストが変更できないと教わりましたので > この意味がちょとわからないのですが。。 ComboBox2の値を選択した時に、ComboBox1のリストの値を変更しなくてはいけないのですが、 Private Sub ComboBox2_Change()  ComboBox1.Clear  'ここにリストの設定用コードが入ります End Sub 上記のコードで「実行時エラー'-2147467259(80004005)予期せぬエラーが発生しました。」 と出て、ComboBox1.Clearの部分が黄色くなってしまうのです。 これを回避する方法を探しているのですが…。 どうぞよろしくお願いします。

関連するQ&A