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