＊ VBA（VISUAL BASIC FOR APPLICATIONS）

VISUAL BASIC ： プログラミング言語、言語処理ソフト

Visual Basic Editor ： VBA編集ツール（ワープロとプログラム支援機能）

プロシージャ Procedure： 処理手順、関係した複数のプログラム

モジュール Module ： プログラムを入れる容器・構成単位

コード Code ： プログラム全体・一部

◎ 開発 － マクロのセキュリティ－マクロの設定で

すべてのマクロを有効にする を選択

手順１ オリジナル関数の作り方

開発 －左端のVisual Basic Editor を起動する。

挿入 － 標準モジュールを選択する

挿入 － プロシージャ － 名前（新関数）を入れて、種類はfunction プロシージャをチェック、範囲はpublicプロシージャをチェックする。

以下、 コードウインドウでプログラミング

Public Function 関数名x ( a as single, c as integer )

使用する関数、引数（変数）の型の定義、構文の宣言

x ＝ a / c 小数点を含む数値 整数

関数 ＝ 関数の内容の定義（求める式）

End Function

終わりの指定

最後に、ファイル － 終了してEXCELに戻る をクリックする

EXCEL アクティブセルに、＝を入力し、作った関数名xを入力、引数は（ 変数セル,変数セル ）をクリックし、確定(Enter)する。

＝ｘ（B2 , E5） (変数はPublic Functionで指定した順番に入れる)

a c

エラー対策

a. プロパティウィンドウ － モジュールを右クリック、解放（削除）・再び作り直す。

b. リセットボタンを押してエラー訂正する。EXCEL画面に戻りF９キーを押す。

ファイル保存の際、ファイルの種類で「マクロ有効ブック(.xlsm)」を選択する Wo Senntakusuru

＊ VISUAL BASIC プログラミング

VISUAL BASIC： プログラミング言語、言語処理ソフト

オブジェクト Object： データとその処理方法を含んだもの

イベント Event： ある動作（マウスのクリック等）

プロシージャ Procedure： 処理手順、関係した複数のプログラム

イベントプロシージャ： ある動作に対する処理を記述したプログラム

フォーム： 視覚的な作成ウィンドウ

コントロール： 部品

プロパティ：設定

手順2 表示プログラミングの手順

挿入 －ユーザーフォームを選択して、フォームにボタン等の部品を配置する。

コントロール（部品）のプロパティを設定する。（名前・背景・画像・文字色等）

コントロールをダブルクリック（右クリック）して、イベントプロシージャに関する

コード(プログラム)を記述する。

以下、 コードウインドウでプログラミング

Private Sub Command1_Click()

使用の型の定義、構文の宣言 (ボタン1をクリックしたら)

Text1.Text=” こんにちは“ （Text1ボックスに表示される）

画像を重ねる場合 Image1.Visible=”True” (Image1に画像が表示される)

Image2.Visible=”false” (Image2に画像が表示されない)

コマンドボタンが押された時の処理を記述する

End Sub プログラム終了の指定

プログラムの動作を確認する。（開始ボタン・停止ボタンを押す）

EXCELに戻って、マクロ有効ブック形式(.xlsm)で保存する。

各自、自由に表示プログラムを組んでみましょうー♪

注意事項

必ずリセットボタン□をクリックした上で、プログラム実行∇や追加編集を行うこと

参考：Visual Basicプログラム

＊総和プログラム

Private Sub CommandButton1_Click()

Dim i, no1, no2, s As Variant

no1 = TextBox1.Text

no2 = TextBox2.Text

s = 0

For i = no1 To no2

s = s + i

Next i

Label3.Caption = "整数の総和は" & s & "です。"

End Sub

変数の宣言 Dim 変数名 As 変数型(Single等)

FOR文 For カウンタ変数 ＝初期値 to 終値 文 s= s+ i Nextカウンタ変数 １ずつ増加するカウンタ変数iの値を 変数sに加算していく

If文 If 条件文 then 実行文1 (真ならば実行１) Else 実行文2 （偽ならば実行2） End If

Rnd関数とInt関数 ある範囲の乱数 Hoi=int((4*Rnd)+1) 1から４までの乱数

＊クリック・ゲーム

Dim score, timeover As Integer

Private Sub CommandButton1_Click()

score = 0

timeover = 0

Timer1.Enabled = True

Timer2.Enabled = True

End Sub

Private Sub Image1_Click()

score = score + 1

TextBox1.Text = Str(score)

End Sub

Private Sub Timer1_Timer()

Image1.Left = Int((3000 * Rnd) + 1)

Image1.Top = Int((2000 * Rnd) + 1)

Image1.Visible = True

End Sub

Private Sub Timer2_Timer()

timeover = timeover + 1

If timeover = 10 Then

Image1.Visible = False

TextBox1.Text = Str(score) & "***ゲームオーバー!!***"

Timer1.Enabled = False

Timer2.Enabled = False

End If

End Sub