- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel、VBA、フォーム、コンボボックスの入力規則の設定)
Excel VBAフォームでコンボボックスの入力規則を設定する方法
このQ&Aのポイント
- Excelのフォームを使用してシートにデータを入力している際、日付の入力でコンボボックスを使用して2桁の文字列入力にすることがあります。しかし、たまに一桁で入力してしまうことがあり、計算結果が狂ってしまうことがあります。このミスを防ぐため、入力先のセルに入力規則(2桁のみ可)を設定しましたが、フォームからの入力ではエラーとならず、そのまま入力されてしまいます。
- この問題を解消するために、コンボボックス自体に入力規則を設定する方法があります。コンボボックスには、プロパティの「リストフィル」に対象となるリストを設定し、入力規則を追加することができます。このようにすることで、リストボックスと同様にリストからの選択のみが可能となり、誤った入力を防ぐことができます。
- したがって、Excel VBAフォームでコンボボックスの入力規則を設定する場合は、コンボボックスのプロパティでリストフィルを設定し、入力規則を追加すればよいです。これにより、正確な日付の入力が可能となり、計算結果の正確さが確保できます。コンボボックスの方が使い勝手が良い場合は、この方法を活用してみてください。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
私が良く使う方法を書いておきます。参考になるでしょうか? 1:コンボボックスの "MaxLength" プロパティを "2" にします。 2:コンボボックスの "AfterUpdate" イベント内に、1桁入力の場合に "0" を補うコーディングを入れます。 Right$("0" & ComboBox1.Text ,2) これで、0~9の入力のときは、01~09になります。