- ベストアンサー
VBAで曜日を求める
年を入力するComboBox1,月を入力するComboBox2,日を入力するComboBox3 があって、それらを入力するとTextBoxに曜日が入るようにするにはどうすればよいでしょうか? いろいろやってみたのですがうまくいきません。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
>いろいろやってみたのですがうまくいきません。 上手くいかなかったコードをアップした方が 質問者が躓いているところが分かるの回答しやすいと思いますが。 >それらを入力すると これは入力した瞬間にということですね。 で、あれば、年、月、日を 入れ終わった後、 例えば、月を変更してもちゃんと曜日が出るようにするために 3つのComboboxChangeイベントで処理する必要があります。 分かりやすくするために少々冗長なコードにしてます。(^^;;; '----------------------------------------- Private Sub ComboBox1_Change() Call DayOfWeek End Sub '----------------------------------- Private Sub ComboBox2_Change() Call DayOfWeek End Sub '----------------------------------- Private Sub ComboBox3_Change() Call DayOfWeek End Sub '----------------------------------------------- Private Sub DayOfWeek() Dim myDate As Date If ComboBox1.Value = "" Then Exit Sub If ComboBox2.Value = "" Then Exit Sub If ComboBox3.Value = "" Then Exit Sub myDate = DateSerial(ComboBox1, ComboBox2, ComboBox3) TextBox1.Value = Format(myDate, "aaaa") End Sub '------------------------------------------------ Formatの第2引数の値で表示が違う "aaa" は、"金" "aaaa" は、"金曜日"
お礼
教えていただいた方法でできました。 3つ(ComboboxChangeイベント)の処理をする必要があったのですね。 それがわかりませんでした。 今度からは上手くいかなかったコードをアップするように心掛けます。 ありがとうございました。