[[20110812175435]] 『フォーム内コンボボックスの書き込みについて』(りんご) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『フォーム内コンボボックスの書き込みについて』(りんご)

 何度もお世話になっております。
 今回は、フォームを作成しており、フォーム内のコンボボックスについて質問です。

 Private Sub ComboBox4_Change()
 Me.ComboBox4.List = Worksheets("設計").Range("A1:A4").Value
 End Sub

 コンボボックスに対して上記のようなコードを作成しました。
 しかし、いざフォームを呼び出しリストを選択しようとすると
 「書き込みできません」というエラーが表示されてしまいます。
 (実行時エラー'70')
 リストを選択すると選択した文字列ではなく数字がコンボボックス内に表示され
 上記のようなメッセージが出てしまいます。
 オプションで何か設定しないといけないのでしょうか?

 皆様からのご教授をお願い致します。

 Excel2007/WindowsXP

 ちょっとよく分かりませんが
 ComboBox4のRowSourceプロパティに何か入れていませんか?
 それがあるのに、Listプロパティをセットしようとしたからではないですか?

 (半平太) 2011/08/12 19:26

 書き込もうとしたら衝突。内容は半平太さんと同じなので割愛するけど
ChangeイベントでListをセットすることが妥当なのかどうか?

 (ぶらっと)

 半平太様・ぶらっと様ご回答ありがとうございます。

 申し訳ありません。まだまだ入門段階なので用語の意味がわかりません。
 RowSourceプロパティというのはどのように確認すれば良いのでしょうか?

 >ChangeイベントでListをセットすることが妥当なのかどうか?
 コンボボックスを作成し、使用するにはそのコンボボックス内で選択する為の
 リストを設定しないといけないのではないのでしょうか?

 本当に無知で申し訳ありません。

 りんご

 >RowSourceプロパティというのはどのように確認すれば良いのでしょうか?

 コードからRowSourceに何もセットしていないとして
・VBE画面でユーザーフォームを表示
・ComboBox4をマウスで選ぶ
・VBE画面の左側にComboBox4のプロパティがabc順に表示される。

 >コンボボックスを作成し、使用するにはそのコンボボックス内で選択する為の
  リストを設定しないといけないのではないのでしょうか?

 そのとおり。だけど、リストは選択させるためにあるものだよね。
一方、Changeイベントは選択した後に発生。(もちろんコンボボックスだから文字列を直接入力することもできるけど)

 リストが、固定的なものなら、一般には ユーザーフォームのInitializeイベントあたりでセットするね。

 レス文でまぎらわしいところがあったので訂正。15:00 追記

 (ぶらっと)

 ぶらっと様

 ご丁寧にありがとうございます。
 色々調べて「Initialize」を使用して何とか前に進む事が出来ました。

 次はまた複雑な処理が待っていますのでまた行き詰まりましたらご相談させて下さい。
 本当にありがとうございました。

 りんご


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.