VBAの基礎 (Visual Basic for Application) 国立教育政策研究所 坂谷内 勝 1.Excel VBAの起動(1)(2) Excel2007のとき ※Excel2003以前のバージョ ンは(7)のスライドから。 (1)Excel2007 を起動する。 (2)左上のボタン(Officeボタ ン)をクリックする。 Office ボタン 1.Excel VBAの起動(3) (3) 「Excelのオプ ション」をクリックす る。 1.Excel VBAの起動(4) (4)「開発」の 先頭をマウ スでチェック を付ける。 1.Excel VBAの起動(5) (5)右下の「OK」 をクリックする。 1.Excel VBAの起動(6) (6) 「開発」タブが表示されるので、マウ スでクリックする。 1.Excel VBAの起動(7)(8) (Excel2003以前のバージョンでは、「ツール」 タブの「マクロ」をクリックする。) (7)「マクロのセキュリティ」レベルを「中」以下、 または「すべてのマクロを有効にする」にする。 (8)マクロの「Visual Basic」 Editorを選択する。 1.Excel VBAの起動(9) (9)「挿入」で、 「標準モジュー ル」を追加する。 以上で準備 OKです。 2.マクロの作成 Sub test() MsgBox “こんにちは” End Sub 実行(横向きの 青い三角のボ タン)をクリック する 3.マクロの追加 Sub test() MsgBox “こんにちは” End Sub Sub testend() MsgBox “おしまいです” End Sub 4.2つのマクロを実行する Sub test2() test testend End Sub Sub test() MsgBox “こんにちは” End sub Sub testend() Msgbox “おしまいです” End Sub 5.関数と引数(1) Sub テスト() MsgBox “こんにちは”,vbYesNo End Sub ※引数は、 vbYesNoの他に、いろいろある。 vbOKOnly, vbYesNoCancel, vbOKCancel, vbRetryCancel, vbRetryCancelIgnore ・・・ 6.関数と引数(2) Sub テスト() MsgBox “こんにちは”,vbYesNo, “タイトル” End Sub ※引数を省略することができる。 Msgbox “こんにちは”, , “タイトル” 7.変数 Sub 変数表示() kazu = 3 MsgBox kazu, , “変数kazuの値を表示する” MsgBox “ kazu ”, , “kazuと表示する” End Sub 8.四則演算 Sub 四則演算() kazu = 3 x=5 kekka= (kazu + x) / (kazu – x) MsgBox kekka, , “計算結果” End Sub 9.複数行 Sub 複数行() kazu = 3 : x = 5 : y = 2 : kekka= kazu + x + y MsgBox kekka, , “計算結果” MsgBox kekka, vbYesNo , _ “計算結果は10になりましたか?” End Sub ※複数行を1行に書くときは、:(コロン)を使う。 ※1行を複数行に分割するときは、スペースと_(ア ンダースコア)を使う。 10.コメント Sub 四則演算() 'マクロ名です kazu = 3 : x = 5 '変数です '計算します kekka= (kazu + x) / (kazu – x) '表示します MsgBox kekka, , “計算結果” End Sub 11.簡単なプログラム(1) Sub pro01() 'Excel の A1のセルを最初の位置とします Range(“A1”).Activate For a = 1 to 9 ' a は上から下へ行を移動する kazu = a ^ a ' x ^ y は x の y 乗です 'Offset(a,0) とは、最初の位置からの相対位置です ActiveCell.Offset(a,0).value = kazu Next a End Sub 12. Offset(a,b)の場所について Excel の A1のセルを最初 の位置とします Range(“A1”).Activate 下に a 右にb Offset(a,b) とは、最初の位 置からの相対位置です ActiveCell.Offset(a,b).value 13.簡単なプログラム(2) Sub pro02() Range(“A1”).Activate For a = 0 to 9 ' a は上から下へ行を移動する For b = 0 to 5 ' b は左から右へ列を移動する ActiveCell.Offset(a,b).value = a * b Next b Next a End Sub 14. For・・・ Next について For a = 0 to 9 ‘ a は 0 から 9 まで For b = 0 to 5 ‘ b は 0 から 5 まで ・・・・・・・・・・・・ Next b Next a [解説] 最初、 a は 0 で、 b は 0 から 5 まで。 次に、 a は 1 で、 b は 0 から 5 まで。 次に、 a は 2 で、 b は 0 から 5 まで。 (略) 最後に、 a は 9 で、 b は 0 から 5 まで。 15.マクロ付きのExcelブックの 保存方法 通常の方法でExcelブックを保存してください。 保存したExcelブックを開くと、以前作成したマクロ が付いています。 16.BASIC(1) • VBAでさらに複雑なプログラムを開発する ためには、プログラムの基本を学習しなけ ればいけません。 • プログラムの基本とは、入出力、変数、条 件分岐、繰り返し操作、関数、・・・です。 • プログラム言語の中で最もシンプルな言語 はBASICです。 17.BASIC(2) • BASICを理解すれば(自分の思い通りのプログ ラムを作ることができれば)、他のプログラミング 言語にもその基本は応用することができます。 • 例えば、VB(Visual Basic)、VBA、C、Java 等の言語でプログラミングすることができます。 • 後期のプログラミング2では、C、Java で少し複 雑なプログラミングを勉強します。 • 前期は、BASIC、VBA、Lispを使って、プログラ ミングの基本を習得します。
© Copyright 2024 ExpyDoc