[Excel VBA Basic]試験対策まとめ

この記事は約7分で読めます。

ExcelのVBA ベーシックに合格することができたので、試験に出題された範囲をまとめておきたい。

この記事に書いている内容は私が受験した際の内容であり、出題範囲や形式、傾向が変わっている可能性があることに留意してください。

この記事を参考にして不合格になったとしても責任は負えません。

テキストと練習問題は公式テキスト一択

まずはどのテキストを使うべきかについて。

前回の記事でも書いているが、事前の勉強には公式テキストと付属の模擬問題を使用するのがベスト。

理由は、試験が公式テキストの内容から出題されるため

公式テキストは3000円と少し高くつくのがネック・・・)

たまたまかもしれないが、私が受験した時は公式テキスト付属の模擬問題に出題されていた形式や内容と近い出題がとても多かった。

もはや問題が同じものさえあったため、高得点を取ることができた。

他にはExcelについてまとめられたサイトがインターネット上に多数存在する。実際にエクセルのマクロを使いこなそうとするなら非常に参考になる。

しかし、受験に当たってそれらのサイトを調べる必要は無い。

公式テキストや模擬問題に含まれていない内容が付け加えられていたりするため、むしろ試験に合格するという点だけで見れば公式テキスト以外は使わない方が良い。

試験の押さえておきたいポイント

公式サイトを見てみると、出題範囲は10章に分かれている。

公式テキストもこの出題範囲に準拠して書かれているが、その中でも特に押さえておきたいポイントをまとめる。

1章:用語と概念

・マクロ:Excelが持つ機能の名前

・VBA(Visual Basic for Applications):プログラミング言語の名前

・マクロ記録:Excelが持つ機能の名前。エクセルの操作手順が記録される。

・VBE(Visual Basic Editor):マクロの記述・実行のために使う。

Excelを起動せずにVBEだけを起動することはできない。

・セキュリティレベル:マクロの実行に関して制御できる

 1:警告を表示せずに全てのマクロを無効

 2:警告を表示して全てのマクロを無効

 3:デジタル署名されたマクロ以外を全て無効

 4:全てのマクロを有効

2章:マクロ記録

・マクロ記録:Excelに対して行った操作をVBAのコードとして記録する

(普段Excelを使う時はマウスやショートカットなどを駆使するが、その手順をVBAで表すとどうなるか調べたいときなどに使うことができる。マクロ記録で自動化するには無駄な処理を挟むことが多いため、自動化するならVBAのコードを打ち込む方が良い)

・マクロ記録で作られたコードは標準モジュールに記録される

・保存する際は先頭を英文字、ひらがな、カタカナ、漢字、「 _ 」で表示。

「?」や「*」は使用できない。

・マクロは「個人用マクロブック」「新しいブック」「作業中のブック」のいずれかに保存する。

・個人用マクロブックは「PERSONAL.XSLB」という名前ので保存される

3章:モジュールとプロシージャ

・プロシージャ:マクロの最小実行単位

・モジュール:プロシージャを記述する場所

・Subプロシージャ:値を返すことができないプロシージャ

・Functionプロシージャ:値を返すことができるプロシージャ

・Callステートメント:1つのプロシージャから別のプロシージャを呼び出すときに使う

4章:VBAの構文

・オブジェクト:操作や命令などを実行する対象

・プロパティ:オブジェクトの様子や状態

・メソッド:動作やアクションを伴う命令

・コレクション:同じオブジェクトの集合体

・Cells:セルの表し方の一つ。 Cells(行番号、列番号) と書く

・Range:セルの表し方の一つ。 以下のように書く。

Range(“D4”)

Range(“B2:C5”)

Range(“C1,D6”)

・Ucase関数:小文字のアルファベットを大文字に変換する

・Mid関数:指定した位置から指定した文字数分だけ文字を返す。

・Now関数:現在の日時を返す

・< > :左辺と右辺が等しくない時にTrueを返す

・& :左辺と右辺の文字列を結合する

・+ :左辺と右辺の文字列を結合する

5章:変数と定数

・バリアント型:変数の宣言時に型を省略すると、全てバリアント型になる

・変数の宣言:Dim 変数名 As 型 と記述する

Dim A, B, C As String このように記述するとAとBはバリアント型、Cのみ文字列型になる。

・定数:定義する際は同時に値も宣言する。一度定義したら変更はできない

・変数:値の格納は宣言後のコードで行う。変更は何度でも可能

6章:セルの操作

・Valueプロパティ:セルの中にある値を表す。省略もできる

・Textプロパティ:セルに表示されている文字列を返す。読み取りのみ

・Offsetプロパティ:基準となるセルからみて相対的に指定した位置のセルを表す

・Resizeプロパティ:セル範囲の大きさを変更する

・Endプロパティ:基準セルから上下左右の指定した方向へ、値が入力されている最終セルにアクティブセルが移動する

・CurrentRegionプロパティ:アクティブセルを含むひとかたまりのセル範囲を選択する

・Copyメソッド:セルをコピーする

・Deleteメソッド:指定したセルを削除する

7章:ステートメント

・For…Nextステートメント:繰り返し処理を行う

Endモードとの併用、Offsetプロパティを併用した問題が多い。

・Ifステートメント:条件の結果に応じて処理を変える(条件分岐)

複数の条件分岐を含めたコードを読み取り、表の中から該当するデータを答える問題が多い。

・Withステートメント:同じ主語が何度も使う際に省略することができる

何行目でエラーが起きるかを答える問題に出題された。

8章:関数

・DateSerial関数:年月日を返す。

・Len関数:引数に指定した文字列の長さを返す

・Left関数:引数に指定した文字列の左端から指定した文字数分の文字列を返す

・Right関数:引数に指定した文字列の右端から指定した文字数分の文字列を返す

・Mid関数:指定した位置から、指定した文字数分の文字列を返す

・LCase関数:引数に指定したアルファベットを小文字にする

・UCase関数:引数に指定したアルファベットを大文字にする

・Replace関数:引数で指定した文字列を指定した文字列に置き換える。

指定した文字列を除去する問題として出題。

・InStr関数:引数に指定した文字列の中で、指定した文字が何番目にあるかを返す

・StrConv関数:引数で指定した文字列の文字種を変換する

・Format関数:数値や日付などを、指定した書式にして返す

・IsNumeric関数:引数で指定した値が数値ならTrue、数値以外ならFalseを返す

・IsDate関数:引数で指定した値が日付ならTrue、日付以外ならFalseを返す

・MsgBox関数:引数で指定した文字列を画面に表示する。

vbYesNoCansel、vbExclamationなどが出題

・InputBox関数:ユーザーが入力した文字列を返す

9章:シートとブックの操作

・Addメソッド:新しいシートを挿入する

・Sheets.Count:シートの個数を表す。繰り返し処理で値が何個入っているかわからない際に使う

・Saveメソッド:ブックを上書き保存する

・SaveAsメソッド:ブックを名前をつけて保存する

10章:マクロの実行

クイックアクセスツールバー関連は出題されたものの、特段この部分と指定できるものがないため省略

補足とまとめ

テキストに乗せてある知識問題を4択で答える問題もあるが、試験問題の多くはコードを読み解いて回答する。そのため、コードを早く読み解くことができるようになっておく必要がある。

逆に、自分でコードを記述することはほとんどない。穴埋め問題として、単語レベルでは存在するが文章を丸ごと書くことはない。

ただ読み解くといっても、闇雲にネットで調べたマクロを読みまくっても非効率だが、実は試験に出題されるコードの多くはテキストに似たような内容で載っている。

「教材はテキスト一択」と書いている理由はここにある。

最後に、テキストの中でも特に押さえておきたい部分をまとめたが、今回の記事は私が受験した際に出題された内容を載せている。

冒頭でも書いたように、出題範囲や傾向、形式が変わる可能性があるため(というか私が受験する1ヶ月ほど前に、実際にOffsetが追加されるなど範囲が変更された)、

公式サイトとテキストをチェックした上での勉強を強くオススメする。

また、今回まとめていない部分から出題できそうな箇所はまだまだ多い。1回の受験で1万円以上もするので、もし試験に落ちたとなれば痛い出費になる。

合格を間違いないものにし、時間とお金をムダにしないためには3000円の出費は必要経費として買ってしまうのが良い。

コメント