質問: エクセルvbaのフォームで日時を入力しやすくしたい エクセル2016で入力フォームを作っています。 日時を入れるテキストボックスがあるのですが、yyyy/mm/dd h:m などの書式設定をしたいです。 調べてみたところ、format や inputmaskの情報があったのですが、アクセスのようで・・・ 入力フォームで日時を入れる事ってまあまああると思うんですが、みなさんどのようにされているのでしょうか?
回答: こんばんは、 テキストボックスの入力設定ですか、すんなりいかないようですね。 >みなさんどのようにされているのでしょうか? 私の場合は、textboxでやるならエラー処理と入力制限を入れて入力形式を促すくらいかな。 入力制限の例( /位置、桁数などのチェックも追加が必要ですね) private sub textbox1_keypress(byval keyascii as msforms.returninteger) if keyascii < 47 or keyascii > 57 then '/0~9まで keyascii = 0 end if end sub 少し不便になっても限定した値が欲しい場合は、textboxを諦めcomboboxで選択して貰うとかですかね comboboxへの登録例 userform_initialize()に for i = year(date) - 2 to year(date) combobox1.additem i next for i = 1 to 12 '月 combobox2.additem i next combobox1.value = year(date) combobox2.value = month(date) ddに関しては条件設定で登録する必要がありますね。 隠しシートにマトリックス組んどけば簡単かもしれませんね。 あと、簡易的なカレンダーを作るとかですかね。