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

PR

前提

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

PR

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

①「ALT」+「F11」でVBEを開く。

②右クリック→「挿入」→「ユーザーフォーム」を選択する。
※オブジェクト名「UserForm1」でユーザーフォームが作成されます。

③コンボボックスを2つ配置する。

コンボボックス
コンボボックス
コンボボックスを2つ配置
コンボボックスを2つ配置

④コンボボックスのオブジェクト名を以下へ変更する。

西暦のコンボボックス:seirekiComboBox
月のコンボボックス :monthComboBox


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

PR

西暦と月のコンボボックスに値を設定する

①ユーザーフォームを右クリックし「コードを表示する」を選択する。

②西暦と月のコンボボックスに値を設定するコードを作成する。

ここでは例として
 ・西暦は1年前から30年後までを設定
する。
※設定する西暦は状況に応じて変更してください。

Option Explicit

Private Sub UserForm_Initialize()

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

ユーザーフォームを表示させる

作成したユーザーフォームを表示させるコードを作成する。

Sub sample()

    'ユーザーフォームを表示
    UserForm1.Show

End Sub
PR

実行結果

西暦と月のコンボボックスがあるユーザーフォームを表示できました。

西暦のコンボボックスの設定値
西暦のコンボボックスの設定値
月のコンボボックスの設定値
月のコンボボックスの設定値
タイトルとURLをコピーしました