前回、コンボボックスの初期設定として使用頻度の高そうなフォントサイズを適当に設定しました(前回の記事)。今回はコンボボックスのフォントサイズを選択すると変数に設定値を格納するイベントを作ります。以下手順でイベントを作ります。

イベント関数ができたら、その関数内でフォントの設定値を変数に格納するコードを書きます。まずは標準モジュールで変数を宣言します。
'VBA標準モジュール
Option Explicit
Public fntSize As Integer 'フォントサイズ格納用
Public Sub setFontSize()
Dim sz As String
With UserForm1
.cmB_fntSz.Clear '初期化
sz = "8,10,12,14,16,20,30,40,50,60"
.cmB_fntSz.List = Split(sz, ",") 'コンボボックスに値をセット
End With
End Sub
宣言時にDimではなくPublicで宣言すると別のファイルでも変数が使えます。次にコンボボックスのイベント関数内でmodule1で宣言した変数にコンボボックスの値を格納します。以下がコードです。
'省略
'----------コンボボックスイベント----------
Private Sub cmB_fntSz_Change()
fntSize = cmB_fntSz.Value
Debug.Print fntSize
End Sub
'省略
変数にコンボボックスの値が格納されたことを確認する為、Debug.Printを加え実行します。コンボボックスの値を選択するとイミディエイトウインドウに同じ値が表示されたと思います。次回はフォント変更の時も実装した。変更範囲の選択機能を実装します。