3 EXCEL VBA講座


とってもルーズなVBA2

1 簡単な計算をプログラムする


デバッガーで停止させた後に「答」にマウスを載せて計算が正しいことを確認してください。



変数の型設定をしていなのに、少数も扱えています。


日付の計算をしてみましょう。
A1に(2018年)9月10日といれ、プログラムで50を足してB1に入れます。
変数宣言は何もしていません。


合っているのかしりませんが、掛け算もできます。意味ないけど割り算もできます。



2 ユーザー定義関数を作ってみる

B1に1と入れるとA1に”あたり”、1以外だと”はずれ”と表示させるユーザー関数を作ってみます。

まず、ユーザー関数の場合はSub→Functionに変更してください。


Function 計算()


End Function

こうなります。また、入力値を1つ使いますので、値としておきます。

Function 計算(値)


End Function

外形が完成しました。


こんな風にしてみて下さい。

Function 計算(値)

If 値 = 1 Then
    計算 = "あたり"
Else
    計算 = "はずれ"
End If


End Function

次にユーザー関数の使い方です。


関数の入力時にユーザー関数を選択します。



通常の関数と同様に設定します。


できました。ユーザー関数はEXCEL上で自動計算されるので通常の関数と同じように使用したい場合に便利です。
これだけでも相当使い勝手が向上します。

では、VB構文であるIF文をみていきましょう。

If 値 = 1 Then
    計算 = "あたり"
Else
    計算 = "はずれ"
End If

極めてよく使うので覚えましょう。これも英語を見れば直感的にわかります。

もし、値が1ならば、そのとき、計算の数値を”あたり”とせよ。
その他は、計算の数値を”はずれ”とせよの意味です。
ここで、関数名と同じ名称の「計算」の数値って何の事でしょうか。
これは、実は関数の返り値になるのです。
関数名と同じ名前に値を入れるとそれはその関数の返り値になります。
これは大変に重要ですから覚えておきましょう。

この関数自体をA1に入れ、値をB1参照にしておけば完成です。