Excelのユーザーフォームに西暦と月のコンボボックスを配置する

前提

ユーザーフォーム表示時にコンボボックスへ値が設定されるよう、
プロシージャ「UserForm_Initialize」内で設定する

ユーザーフォーム画面の作成

1.「ALT」+「F11」でVBEを開く
2.右クリック→挿入→ユーザーフォームを選択する
3.コンボボックスを2つ配置する
4.西暦のコンボボックスのオブジェクト名を「seirekiComboBox」にする
  月のコンボボックスのオブジェクト名を「monthComboBox」にする

5.マクロ有効ブック(.xlsm)で保存する

ソースの作成

1.ユーザーフォームを右クリックし「コードを表示する」を選択する
2.以下を記載する

Private Sub UserForm_Initialize()

    Dim i As Integer
        
    '西暦のコンボボックス 1年前から30年後まで
    For i = Year(Date) - 1 To Year(Date) + 30
        seirekiComboBox.AddItem i
    Next
    '初期値として現在の西暦を設定
    seirekiComboBox.Value = Year(Date)
    
    '月のコンボボックス
    For i = 1 To 12
        monthComboBox.AddItem i
    Next
    '初期値として現在の月を設定
    monthComboBox.Value = Month(Date)
    
End Sub
タイトルとURLをコピーしました