質問が来たので、デバックしてみたが、
動いてしまいました。
いつもの酔っ払い右往左往のデバッグ動画
【VBA デバッグ風景】VBA コンボボックス 初期値のセットをデバッグ 2018-07-14【三流君】 - YouTube
www.youtube.com
コンボボックスの初期値は、.ListIndex を使用した
.ListIndex = Month(myday) - 1
のままでもOKだと思います。
また、.Valueを使用した
UF002.ComboBox2.Value = Month(myday)
の.Valueをセットでも動くと思います。
値が" "空白の件ですが、
違う所で何か初期化していないか?
UF002の初期処理と違うフォーム
※私の知らないUF001とか003が何かしていたりしませんか?
テストの単体デバッグで動いてしまい、
原因がわかりませんが、
全体の流れを見直してみては・・・
> MsgBox "ComboBox1.Value" & ComboBox1.Value & "ComboBox2.Value" & ComboBox2.Value
ここみると、
もしかして、UF002.が抜けていて、見ている場所が違う場所のComboBoxとか?
MsgBox "ComboBox1.Value" & UF002.ComboBox1.Value & "ComboBox2.Value" & UF002.ComboBox2.Value
とUF002を指定して表示するとどうなりますか?
たまたま、
年は、違うフォームでも2018が表示されて、
月は " " なのかなぁ・・・
う~ん、
あとは、違う場所で
UF002.ComboBox2.Value
を壊しているのかなぁ?
ズバリの回答じゃないのですが、
解決の糸口、ヒントとなれば幸いです。 三流プログラマー Ken3
下記、いただいた質問です。
さて、カレンダーで日付を選ぶインフラを作ってます。
上記、キャプションでは、Userform1と出てますが、
オブジェクト名は、UF002です。
42個のコマンドボタンに対して、Captionで、日付を
入れてゆく。
Combobox1は年、combobox2は月として、
年と月を動かしたら、カレンダーの日付、すなわち
コマンドボタンのキャプションを変えるものを作ってます。
さて、42個のボタンにキャプションを入れるsubルーチンは
できたのですが、Comboboxの初期設定がうまくいきません。
下記、
- QTE-
Private Sub UserForm_Initialize()'完成 2018/7/13
Dim myday As Date
Dim f As Long
Dim Y As Byte
Dim y2 As Longmyday = Month(Date) & "/1/" & Year(Date) 'このユーザーフォームの初期値はあくまで当月の1日
'myday = #8/1/2018# '8月でテスト
'MsgBox "myday" & myday
f = DateSerial(Year(myday), Month(myday), Day(myday))
四十二個のボタンにキャプションと値を格納 f
'+++++++++++++コンボボックスの初期値の設定+++++++++++++++++
'1つ目のComboboxは年
For Y = 0 To 2
UF002.ComboBox1.AddItem Year(myday) + Y
Next Y
UF002.ComboBox1.ListIndex = 0
'2つ目のComboboxは日
For y2 = 1 To 12 'コンボボックス2のデフォルト設定はうまく言ってるけど、この書き方でいいのか謎。
UF002.ComboBox2.AddItem y2
Next y2
UF002.ComboBox2.ListIndex = Month(myday) - 1
'Combobox1、2のデフォルト値
UF002.ComboBox1.Value = Year(myday)
'ぎゃぉーーーーーー コンボボックス2のでふぉるとちがかくのうされないUF002.ComboBox2.Value = Month(myday)
MsgBox "ComboBox1.Value" & ComboBox1.Value & "ComboBox2.Value" & ComboBox2.Value
'+++++++++++++以上 コンボボックスの初期値の設定+++++++++++++
End Sub
- UNQTE-
Combobox2の初期値を当月の月の数値である7を入れたいのですが、これが、””と認識されます。
そもそもcomboboxの初期値って、Valueプロパティーで
設定するのは、まちがっているのでしょうか。
上記質問を元にデバッグしてみたら、
動いてしまった、そんなお話でした・・・・・