場合分け(If Then Else,Select Case) 繰返し(Do While) 繰返しその2(For Next) 5.制御構造と配列 場合分け(If Then Else,Select Case) 繰返し(Do While) 繰返しその2(For Next)
5.1 場合分け 代表的な形式(フォームの変更) 5.1 場合分け 代表的な形式(フォームの変更) CommandButton1 Caption : If_Then_Else まず,次のようにフォームを変更しよう TextBox1 Text : 空白 Label1 Caption : 空白
If Then Else 代表的な表現(イベントハンドラ) 構文 CommandButton1のClickイベントハンドラ If 論理式 Then 文(複数の文を記述可能) Else End If 実行結果
Thenの後が1文のみでElseの文がないとき コマンドボタン追加 CommandButton2のClickイベントハンドラ CommandButton2 Caption : If_Then 実行結果 構文 If 論理式 Then 文(1文のみ)
比較が並ぶようなときElseifの使用 コマンドボタン追加 CommandButton3のClickイベントハンドラ 構文 実行結果 Caption : Elseif 構文 実行結果 If 論理式 Then 文(複数の文を記述可能) Elseif 論理式 Then Else End If
同一変数の値による場合分け コマンドボタン追加 CommandButton3のClickイベントハンドラ 実行結果 構文 Caption : Select_Case 構文 Select Case 変数名 Case 値 文(複数の文を記述可能) Case Else 文(複数の文を記述可能) End If
5.2 繰返し Do While CommandButton1 Caption : Do_While まず,次のようにフォームを変更しよう TextBox1 Text : 空白 Label1 Caption : 空白
Do While (1~Nまでの加算) CommandButton1のClickイベントハンドラ 構文 Do While 論理式 文(複数の文を記述可能) Loop 実行結果
For Next (1~Nまでの加算) Clickイベントハンドラ CommanButton2の追加 実行結果 CommandButton2 Caption : For_Next 構文 For 変数 = 初期値 To 終了値 Step 増分 文(複数の文を記述可能) Next
For Each(フォームの変更) CommandButton1 Caption : For_Each まず,次のようにフォームを変更しよう TextBox1 Text : 空白 MultiLine : True Label1 Caption : 空白
UserFormのInitializeイベントハンドラの記述 イベントとして Initializeを選択 (注) UserForm_Clickは消去する フォーム上でダブルクリック
配列(同じデータ型の集まり) モジュール間で有効な宣言 宣言するモジュールの最初のプロシージャより前に以下の形式で宣言する。 宣言するモジュールの最初のプロシージャより前に以下の形式で宣言する。 Public 変数名(最大Index) as 型名 モジュール内のみで有効な宣言 宣言するモジュールの最初のプロシージャより前に以下の形式で宣言する。 Private 変数名(最大Index) as 型名 プロシージャ内のみで有効な宣言 プロシージャ内で以下の形式で宣言する。 Dim 変数名(最大Index) as 型名
For Each Next (コレクションの中から) For Each Next (コレクションの中から) 構文 Initializeイベントハンドラ For Each 変数 In コレクション 文(複数の文を記述可能) Next 実行結果 (注)以下のように記述することもできる For I=0 to 5 TextBox1.Text = TextBox1.Text & A(I) & vbCRLF Next
合計値を求めるプログラムを書いてみよう Clickイベントハンドラ 実行結果 (注)以下のように記述することもできる For I = 0 to 5 C = C + A(I) Next 実行結果
5.3 サブプログラムとファンクション(関数) 5.3 サブプログラムとファンクション(関数) Sub プログラム Function プログラム 実行結果