<DB入門 データ・ベース入門> №16

<3年選択 DB 入門 H26.10>
<DB入門
データ・ベース入門> №16
担当/脇本
<<<授業の流れ>>>
① データベースでもよく利用される Visual Basic for Application(以下VBA) の基本を学ぶ。
② Excel の VBA を使っての実習。
③ 練習問題実習を行う。
1.VBA とは
・VBA とはアプリケーションソフトの複雑な操作や単純作業を自動化するために使用するプログラミング言語の 1 つでマイク
ロソフトのアプリケーション間で使用できる共通のスクリプト言語のこと。プログラミング用に使用する構文は、
VisualBasic で用いられているプログラミング言語がベースになっている。
・MS Office(Excel や Access など)では通常 Visual Basic Editor :VBA を操作するための専用エディタ(編集・加工す
るためのツール)を利用してプログラミングする。
2.Excel の VBA の基本
・Excel の VBA についての入門的な説明が以下のウェブサイトに掲載されている。
・サイト名 「エクセルのマクロと VBA の基本概念」
URL: http://allabout.co.jp/gm/gc/297703/
ブラウザ を開く →
all about マクロと vba
で検索
3.VBE を開いてみる
・Excel を起動。
・Visual Basic Editor (以下 VBE)を起動。<シート名> 右クリック → <コードの表示>
※<ALT>+<F11> を押してもよい。
4.マクロ自動記録機能を使う
・マクロ記録開始
ワークシートの左下隅にある コマンド の右のボタン
「マクロの記録」のダイアログボックスが表示
OK
を押す。
・セル A1 に ”a”
、A2 に ”b”、A3 に ”c”を入力し、
最後は A4 を選択したままで、ワークシートの左下隅にある
マクロ記録ボックスの■マークを押す。
→ 記録停止
<3年選択 DB 入門 H26.10>
・下のタスクバーから VBE を表示。
・<表示>→<プロジェクトエクスプローラ>
「標準モジュール」の左側の「+」をクリック。
・表示された「Module1」をダブルクリック。
・右のプログラム(プロシージャ)が表示
されることを確認。
※ひとつの VBA プログラムは「プロシージャ」と
呼ばれ、プロシージャの中身(内容・文字部分)を
コード という。
5.マクロを改造する
・4.で自動記録したコード(左
青部分)を次(右 赤部分)のように改造する
Sub Macro1()
Sub Macro1()
Range("A1").Select
Range("B1").Select
ActiveCell.FormulaR1C1 = “a”
ActiveCell.FormulaR1C1 = "d"
Range("A2").Select
Range("B2").Select
ActiveCell.FormulaR1C1 = “b”
ActiveCell.FormulaR1C1 = "e"
Range("A3").Select
Range("B3").Select
ActiveCell.FormulaR1C1 = “c”
ActiveCell.FormulaR1C1 = "f"
Range("A4").Select
End Sub
Range("B4").Select
End Sub
・マウスポインタを プロシージャ内(どこでもよい)に置いて、F5
キー を押す。
・F5 キーを押すことによって、このプロシージャが実行される。
・本プロシージャが実行の結果、Excel の セル B1~B3 までの値が "d"~"f" に変化して、B4 が選択されていることを確認。
Q1.4.で自動記録したプロシージャを以下のように改造する。
・セル C4~C6(右図枠内)に "g",”h”,"i" の文字を入れ
る。
・最後にセル C7 を選択して終了。
ヒント(下線部分を改造する)
Sub Macro1()
Range("
").Select
ActiveCell.FormulaR1C1 = “
Range("
").Select
ActiveCell.FormulaR1C1 = “
Range("
End Sub
”
").Select
ActiveCell.FormulaR1C1 = “
Range("
”
").Select
”
<3年選択 DB 入門 H26.10>
6.プロシージャの追加
・Q1で改造したプロシージャにさらにもう1つのプロシージャを追加するには以下のように入力する。
【手順】
・Macro1 の End Sub の最後の部分マウスポインタ(●の位置)を置き
Enter を2回押す。
・Sub Macro2() と入力して Enter を押す。
下に End Sub が自動的に付く。以下は右図(赤枠内)の通り入力。
注)空白行は そのまま行先頭部分で Enter を押す。
Range("A1")="札" ~ Range("A5").Select は右端で改行しながら入力する。
【準備・実行】
・Excel に戻って セル A1~C7 までの内容を消去(範囲を選択して Del キーを押す)。
・Macro2 のコード内にマウスポインタを置いて F5 を押す。
・本プロシージャが実行され、Excel の セル A1~A4 までの値が "札"~"陽" に変化し、
A5 を選択していることを確認。
注)改造前の Macro1 と Macro2 のプロシージャは、実行するとどちらも同じ結果となる。
このようにコードの書き方は、一通りではなく複数の書き方がある。
Q2.Macro2 と同様に下に Macro3 プロシージャを追加・作成する。処理内容は以下の通り。
・セル B1 から B47 に “北海道”、”青森” ~ “沖縄” の 47 都道府県を入力する。
・ただし、右端に、"県" "都"(東京) "府"(大阪) は付けない。
・最後にセル B48 を選択して終了。
・F5 を押して実行。
・ヒント例) セル A1 に "日本" を入力するコードは
Range("A1") = "日本"
ヒント(下線部分に何が入るかを考える)
Sub Macro3()
Range("B1") = “北海道”
Range("
") = “
”
Range("
") = “
”
") = “
”
・
・
・
Range("
Range("B
").Select
End Sub
■実行(コード内にマウスポインタを置いて F5 キー押す)結果
沖縄まで入力されているか確認
●
<3年選択 DB 入門 H26.10>
7.Q1~2 の回答を VBE に入力した Excel ファイルを保存・提出する。
・Excel ファイルを保存すると、VBA も同時に保存される。
・画面下のタブを使って、Excel に切り替え。
・<ファイル> - <名前を付けて保存>
ファイルの種類
Excel マクロ有効ブック
に変更する
ファイル名 "141002-3#@@新陽太郎" 保存先 「Data(D:)」
・スクリーンの指示に従って、先生に提出。
・実習終了