作成2021/11/19
ユーザフォームの挿入
(1)EXCEL2019を起動します。
(2)新規_空白のブックを選択します。
(3)開発タブをクリックして「Visual Basic」をクリックします。
(4)「挿入」_「ユーザフォーム」を選択します。
(5)「ユーザフォーム」に「コマンドボタン」を2個追加します。

(6)「ユーザフォーム」を右クリックします。

(7)コードの表示を選択すると、オブジェクト「UserForm1」のコードエディタが表示されます。

(8)以下のコードを貼付けます。
Private Sub CommandButton1_Click()
myG.N(0) = 1
UserForm1.Hide
End Sub
Private Sub CommandButton2_Click()
myG.N(0) = 2
UserForm1.Hide
End Sub

「標準モジュール」の挿入
(1)「挿入」_「標準モジュール」を選択します。
(2)以下のコードを貼付けます。
Type myT
N(2) As Integer
S(2) As String
End Type
Public myG As myT
Sub Macro1()
myG.N(0) = 0
Load UserForm1
UserForm1.CommandButton1.Caption = "OK"
UserForm1.CommandButton2.Caption = "キャンセル"
UserForm1.Show
dp = 1
Unload UserForm1
End Sub
(3)dp = 1の行をクリックします。
(4)「デバッグ」_「ブレークポイントの設定/解除」を選択します。

(5)これで、ブレークポイントの設定ができました。
Macro1の実行
(1)Macro1を実行します。

(2)OKボタンを押します。
(3)「表示」_「ウォッチウインドウ」を選択します。
(4)「デバッグ」_「ウォッチ式の追加」を選択します。
(5)式にmyGを入力して、「OK」ボタンを押します。
(6)myGを展開すると以下のようになります。

(7)OKボタンが押されたとき、N(0)の値が1となります。
(8)キャンセルボタンが押されたとき、N(0)の値が2となります。
(9)Xボタン(閉じる)が押されたとき、N(0)の値が0となります。
(10)変数N(1),N(2),S(0),S(1),S(2)は未使用です。
ファイルの保存
(1)作成したEXCELファイルは「8章.xlsm」として保存します。
「8章.xlsm」ファイルのダウンロード
「8章.xlsx」ファイルは、以下からダウンロードできます。
ダウンロード後は解凍してから使用してください。
「8章.xlsm」ファイルをダウンロードする。
解凍すると「8章.xlsm」ファイルがあります。
CommandButton1がクリックされたときの処理
Private Sub CommandButton1_Click()
myG.N(0) = 1
UserForm1.Hide
End Sub
(1)myG.N(0) = 1でパブリック変数myG.N(0)の値を1に設定します。
(2)UserForm1.Hideでオブジェクト「UserForm1」を閉じます。
ユーザ定義変数の定義
Type myT
N(2) As Integer
S(2) As String
End Type
(1)名称「myT」の変数の型を定義します。
(2)N(2) As Integerで整数型配列変数を定義します。
(3)S(2) As Stringで文字型配列変数を定義します。
パブリック変数myGの定義
Public myG As myT
(1)パブリックで変数myGをmyT型で宣言します。
標準モジュールのMacro1
Sub Macro1()
myG.N(0) = 0
Load UserForm1
UserForm1.CommandButton1.Caption = "OK"
UserForm1.CommandButton2.Caption = "キャンセル"
UserForm1.Show
dp = 1
Unload UserForm1
End Sub
(1)myG.N(0) = 0で変数myG.N(0)を0に設定します。
(2)Load UserForm1でオブジェクトUserForm1を実装します。
(3)UserForm1.CommandButton1.Caption = "OK"でCommandButton1の表示を設定します。
(4)UserForm1.Showでオブジェクト「UserForm1」を表示します。
(5)dp = 1はデバッグ用のダミーです。
(6)Unload UserForm1でオブジェクトUserForm1を消去します。