• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ユーザーフォーム上でのドロップダウンリストについて)

Excel2003のユーザーフォーム上でのドロップダウンリストの使い方と注意点

このQ&Aのポイント
  • Excel2003を使用している場合、ユーザーフォーム上でのドロップダウンリストの使い方について知りたい方への解説です。
  • ドロップダウンリストは、多くの選択肢を必要とする場合に便利ですが、sheet1で使用するユーザーフォームに、sheet2に作っておいたリストを使用する方法を知りたい方へのアドバイスです。
  • また、ユーザーフォームで使用するリスト項目が増える場合、入力時にリストにない項目を自動的に増やして昇順する方法についても解説しています。

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

  • ベストアンサー
  • myCat
  • ベストアンサー率60% (9/15)
回答No.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の回数などが減るのでこちらがベター。 以上です。  

otocchi312
質問者

お礼

お返事が遅くなりまして、申し訳ありません。 大変参考になりました。 いろいろと本と格闘しているんですが、 なかなかこういう細部まで書いているのがなくて… 本当にありがとうございました。

関連するQ&A

専門家に質問してみよう