概要説明
『Excel VBA』の始め方として、ファイルの作成から、コードを書いて出力するまでの一連の流れを簡単な課題を用いて実践していきます。ここで示す基礎骨格の構成を理解できれば、プログラミングを応用できるようになります。基礎骨格と実施する課題の概要は以下の通りです。
環境構築
エクセルブックの作成
まずは、画面上で右クリックして、「新規作成」→「Microsoft Excel ワークシート」の順にクリックしていき、エクセルブックを作成します。その後、ファイル名を変更して保存します。
マクロの設定
次に、Excelファイルを開き、「ファイル」→「オプション」→「トラストセンター」→「マクロの設定」の順に進みます。マクロの設定の第2項目のを選択してOKをクリックします。
開発タブの設定
「ファイル」→「オプション」→「リボンユーザーの設定」に進み、開発タブを選択してOKをクリックします。
マクロ有効ブックの作成
ファイルの名前を付けて保存を選択し、参照から「ファイルの種類」をクリックします。マクロ有効ブックを選択して、保存します。
VBA画面の設定
「開発タブ」から、Visual Basicのボタンを押すと、シートが現れます。
▼
「表示」から、プロジェクトエクスプローラーとプロパティウインドウを選択します。「挿入」から、標準モジュールを表示させます。
コードの入力・実行
標準モジュールに以下の簡単なコードを入力して、再生マークで実行してみましょう。実行結果を確認できればOKです。
ブックの保存・開く
ファイルから、保存をクリックします。
▼
保存したファイルを再度開き、「コンテンツの有効化」ボタンをクリックします。マクロを有効化すれば、再度VBAを実行・編集できるようになります。
使用機能
Excel VBAの基本的なコードのうち、使用する機能は、以下の通りです。
基礎骨格
ここから、標準モジュールにコードを記載していきます。まずは、プログラミングの全体フローに従い、基礎骨格を作っていきます。
その後、フローの各項目を処理するためのコードを当てはめていくようにします。コードをコピーしたい場合は、最終章をご覧ください。
なお、コードにある「 ′ 」から始まる行は、コメント扱いとなります。コメント扱いとなる箇所は、実行時に読み飛ばされます。したがって、プログラミングに影響しないメモ書きとして、コード内に残すことができます。
▼
▼
▼
▼
詳細設計
プログラミング宣言文
プロシージャの定義
変数・配列とデータ型の定義(START)
データを読み込む(READ)
データの初期設定(INITIAL)
計算処理の実行(CALC)
計算結果の分析(ANALYSIS)
データの書き出し(WRITE)
プロシージャ終了の定義
計算実行
最後に、再生マークをクリックして、計算を実行します。正しい結果が得られれば、完了です。
▼
コピーコード
【CopyCode】基礎骨格
右上のボタンをクリックすると、クリップボードにコピーされます。
'【宣言文・プロシージャの定義】 Option Explicit Sub program() ' --------------------------------------------------- START '【変数・配列とデータ型の定義】 ' --------------------------------------------------- READ '【データを読み込む】:数値0~9を入力する。 ' --------------------------------------------------- INIT '【データの初期設定】:偶数のみに数値変換する。 ' --------------------------------------------------- CALC '【計算処理の実行】:初期設定後のデータを合計する。 ' --------------------------------------------------- ANAL '【計算結果の分析】:合計値は奇数か偶数か判定する。 ' --------------------------------------------------- WRIT '【データの書き出し】:合計値(分析結果)を書き出す。 ' --------------------------------------------------- END End Sub
【CopyCode】詳細設計
右上のボタンをクリックすると、クリップボードにコピーされます。
'【宣言文・プロシージャの定義】 Option Explicit Sub program() ' --------------------------------------------------- START '【変数・配列とデータ型の定義】 Dim arr(0 To 9) As Integer Dim i As Integer Dim sum As Integer ' --------------------------------------------------- READ '【データを読み込む】:数値0~9を入力する。 For i = 0 To 9 arr(i) = i Next i ' --------------------------------------------------- INIT '【データの初期設定】:偶数のみに数値変換する。 For i = 0 To 9 If arr(i) Mod 2 <> 0 Then arr(i) = 0 End If Next i ' --------------------------------------------------- CALC '【計算処理の実行】:初期設定後のデータを合計する。 sum = 0 For i = 0 To 9 sum = sum + arr(i) Next i ' --------------------------------------------------- ANAL '【計算結果の分析】:合計値は奇数か偶数か判定する。 Dim result As String If sum Mod 2 = 0 Then result = "偶数" Else result = "奇数" End If ' --------------------------------------------------- WRIT '【データの書き出し】:合計値(分析結果)を書き出す。 MsgBox CStr(sum) & "(" & result & ")" ' --------------------------------------------------- END End Sub