経理部員のプログラミング勉強日記

経理、プログラミング、データ分析などを生業にする30代男性会社員の行動記録です。

ExcelVBA コンボボックスの初期設定と反転防止策

コンボボックスの初期値設定はInitializeイベントで行う。
AddItemメソッドでリストを作り、
ListIndexプロパティで初期表示するアイテムを指定する。

f:id:youhei9999:20180312230837p:plain

Private Sub UserForm_Initialize()
    With ComboBox1
        .AddItem "1 上杉彰彦"
        .AddItem "2 高石梨紗"
        .AddItem "3 真壁七美"
    End With
    ComboBox1.ListIndex = 2
End Sub

コンボボックスは選択すると文字列が反転してしまって格好悪い。
回避策としてはChangeイベントで別のボタンなどにフォーカスを移してしまう。

Private Sub ComboBox1_Change()
    CommandButton1.SetFocus
End Sub