- ベストアンサー
Excel2003のユーザーフォーム上でのドロップダウンリストの使い方と注意点
- Excel2003を使用している場合、ユーザーフォーム上でのドロップダウンリストの使い方について知りたい方への解説です。
- ドロップダウンリストは、多くの選択肢を必要とする場合に便利ですが、sheet1で使用するユーザーフォームに、sheet2に作っておいたリストを使用する方法を知りたい方へのアドバイスです。
- また、ユーザーフォームで使用するリスト項目が増える場合、入力時にリストにない項目を自動的に増やして昇順する方法についても解説しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。 Sheet2のA列がリストで、A1は見出し、リストはA2以降とした場合。 UserFormのActivateイベントに以下のコード。 ----------------------------------------------------------- Private Sub UserForm_Activate() Dim myRange As Range With Sheets("Sheet2") Set myRange = .Range("A2", .Range("A65536").End(xlUp)) myRange.Sort Key1:=.Range("A2"), Order1:=xlAscending, _ Header:=xlGuess, OrderCustom:=1, _ MatchCase:=False, Orientation:=xlTopToBottom, _ SortMethod:=xlPinYin End With ComboBox1.RowSource = "Sheet2!" & myRange.Address End Sub --------------------------------------------------------- 見てもらえば分かると思いますが、 UserFormがアクティブになった時、Sheet2のリストをソートして それをComboBoxにセット UserFormが常にHideでなくUnloadされるのであれば コードをUserFormのInitializeイベントに置くと Sortの回数などが減るのでこちらがベター。 以上です。
お礼
お返事が遅くなりまして、申し訳ありません。 大変参考になりました。 いろいろと本と格闘しているんですが、 なかなかこういう細部まで書いているのがなくて… 本当にありがとうございました。