t-hom’s diary

主にVBAネタを扱っているブログ…とも言えなくなってきたこの頃。

VBA 日本語でプログラミング

'今回の記事は、全てVBAコードです。
Sub 日本語でVBA()
    表示 "VBAの一部は日本語で書くことができます。"
    表示 "日本語で書けるのは、文字列、マクロ名、変数名、定数名、" & _
        "プロシージャ名、ラベルなどです。"
    表示 "例えば、肥満度(BMI)を求めるプログラムを作ってみましょう。"
    表示 "BMIは体重(kg)÷身長(m)÷身長(m)で求めることができます。"

    身長 = 入力("身長は何mですか?")
    体重 = 入力("体重は何kgですか?")
    
    結果 = 四捨五入(体重 / 身長 / 身長)
    
    表示 "あなたのBMIは" & 結果 & "です。"
    表示 "…"
    表示 "このように、ほとんど日本語で書くことができました。"
    
    表示 "しかし、条件によって処理を分けたり、" & _
        "繰り返し同じ処理をしたりするためには"
    表示 "「構文」といわれる文法が必要になります。"
    
    表示 "これはどうしても英語になってしまいますが、"
    表示 "それほど難しいものではありません。"
    
    表示 "試しに、BMIの結果によってアドバイスを表示させてみましょう。"
    表示 "あなたのBMIは" & 結果 & "でしたね。"
    表示 "…"
    
    表示 "あなたの体型は"
    Select Case 結果
    Case Is < 18.5
        表示 "痩せています。"
    Case 18.5 To 24.9
        表示 "普通です。"
    Case 25 To 29.9
        表示 "肥満レベル1です。"
    Case 30 To 34.9
        表示 "肥満レベル2です。"
    Case 35 To 39.9
        表示 "肥満レベル3です。"
    Case Is >= 40
        表示 "肥満レベル4です。"
    End Select
    
    表示 "…"
    
    表示 "今回のプログラムは、VBエディタに貼り付けて" & _
        "そのまま実行することができます。"
    表示 "興味がある方は試してみてください。"
    
    表示 "以上、「日本語でVBA」でした。"
End Sub

'以下、VBAの命令を日本語化するためのプロシージャ群
Sub 表示(文字列)
    MsgBox 文字列
End Sub

Function 入力(文字列) As String
    入力 = InputBox(文字列)
End Function

Function 四捨五入(数値)
    四捨五入 = Round(数値, 1)
End Function

当ブログは、amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、 Amazonアソシエイト・プログラムの参加者です。