コンピュータになんらかの処理をさせるための一連の命令を作ること
プログラミングとプログラムの実行は全くべつの事なので注意!
入力 → 計算 → 出力となっている.例えば,入力はキーから5と3を入力すること,計算は5+3=8を求めること,出力は8をモニターに表示することである.以下のプログラムはこの例を実現する.
Sub example1() Dim x As Double, y As Double, z As Double '*** x と y の入力 x = InputBox("xの値") y = InputBox("yの値") '*** x + y の計算 z = x + y '*** x + y の表示 MsgBox "x + y =" & z End Sub
Sub example2() '*** セルA1に"こんにちは,みなさん"と入力 Range("A1").Value = "こんにちは,みなさん" End Sub
コンピュータになんらかの処理をさせるための一連の命令のこと
コンピュータになんらかの処理をさせるための命令を書く言語
とにかくいろいろなプログラムを作ってみること,その為に多くの時間を費やすこと
1) Visual Basic Editor の起動 2) プログラムの作成 2.1) モジュールの挿入 2.2) プロシージャコードの記述 2.3) プロシージャの実行・デバック 3) Visual Basic Editor の終了
用語
起動方法:[ツール]+[マクロ]+[Visual Basic Editor]
終了方法:Xボタンをクリック
この資料では,プログラムを書くのに必要となる構文をひとつひとつ学んでいく形式をとる.各回で出た構文は最後の方にまとめ,後で参照しやすいようにする.
用語
モジュールの挿入方法:[挿入]+[標準モジュール]でモジュールフォルダ内に module1 が作成される.プロジェクトエクスプローラ・ウインドウから確認できる.
モジュールの削除方法:モジュールを選択 → [ファイル]+[モジュールの削除] → エクスポートは[いいえ]を選択
プロシージャコードの記述方法:コード・ウインドウに書き込めばよい.
以下は今回用いる構文である.内容については構文のまとめを参照.
以下は練習プログラムである.
Sub hello() ← subプロシージャの始まり '*** ← コメント文 '* This is "Hello, world" program. ← コメント文 '*** ← コメント文 ← 空白行 MsgBox "Hello, world!" ← 「Hello, world!」というメッセージの表示 ← 空白行 End Sub ← subプロシージャの終わり
プロシージャの実行:[ツール]+[マクロ]+[マクロ...] → 実行したいプロシージャ名を選択して,[実行]をクリック
何らかのエラーでプログラムが中断した時:[実行]+[リセット]で実行前の状態に戻し,エラーとなった部分を修正する.
ほとんどのプログラミング言語のコードは英単語を元にしている.MsgBoxは message box であり,Sub や End は辞書にも載っている.これからも様々なコードが出てくるが,英単語と結び付けて憶えるとよい.
プログラミング言語では,曖昧さが残る場合はものごとの始まりと終わりを明示的に表わす.サブモジュールの最後に End Sub と入れるのはそのためである.この概念はVBAはもちろん,他でも重要となるのでしっかり頭に入れておくこと.(ホームページの記述言語であるHTLMもしかり.)
Sub プロシージャ名() VBAのコード End Sub
' コメント文または
VBAのコード ' コメント文
MsgBox "表示したいメッセージ"
Sub hello() '*** '* This is "Hello, world" program. '*** '* メッセージの表示 MsgBox "Hello, world!" End Sub
"こんにちは,みなさん"と表示するプログラム(プロシージャ名 greeting0)を作れ.
Excel 97 VBA for Windows 95 Super Master, エクスメディア, 1998.
VBAの記述法についてはこの本を参考にしている.