VBAエキスパート対策
VBAエキスパート対策

Excel VBAエキスパート対策です
最終更新日:2019-11-03

VBAエキスパート対策


VBAエキスパート試験に合格するために必要なVBA知識についての対策です。


試験に合格するには、その知識だけではなく、準備や試験当日の諸注意も必要ですが、

ここでは、基本的にはVBAの知識に絞った対策になります。

VBAエキスパート試験に関する全般的な事は、
VBAエキスパート公式サイト
こちらをご覧ください。
特に、受験に関すること(試験会場や費用等)は、良く確認しておくようにしましょう。

筆者自身は、この試験を受けていません。
この試験が開始されるよりはるか以前からVBAを使っていますので、試験を受ける機会はありませんでした。
そこで、本シリーズを書き終えたら、実際に受験してみようかと思っています。
(試験会場がかなり遠方にしかないので、どうしようかと思ってはいますが)
試験問題は当然毎回違いますので、何点取れるものなのか確認してみたいと思っています。
受験した時は、ここに感想や、これから受験する人に対する助言を書ければ良いなと思っています。

VBAエキスパート試験リニューアル

2019/05/15より「VBAエキスパート」リニューアル
公式サイト→ 『VBAエキスパート』リニューアルのお知らせ

主な変更点は下記の4つです。

・Office アプリケーションの対象バージョン(Office 2010~2016バージョンに対応)
・出題の形式(ドロップダウンリスト形式、クリック形式、ドラッグ&ドロップ形式)
・出題範囲
ベーシック
追加
セルの操作:最終セルを特定する

★現行試験の出題範囲にあった「デバッグの基礎」は、「Excel VBA スタンダード」に移動しました。
スタンダード
【追加】

変数の活用
データの個数を数える、値を合計する
ファイルの操作
文字列操作によるパスの指定
ワークシート関数の利用
WorksheetFunctionオブジェクト
検索とオートフィルター
検索の基本
見つからなかったときの判定
検索したセルを使う
オートフィルターの基本
絞り込んだ結果のコピーとカウント
絞り込んだ結果の編集
データの並べ替え
簡単な条件の並べ替え
複雑な条件の並べ替え
特殊な並べ替え
文字列の並べ替え
フリガナの操作
テーブルの操作
テーブルとは何か
テーブルの特定
テーブル部位の特定
テーブル操作の例
エラー対策
エラーが起きないデータに整える

【削除】
イベント
UserForm
メニューの操作
Windowsの機能を利用する
レジストリの操作
変数と配列:静的変数
変数と配列:ユーザー定義型
ファイルの操作:テキストファイルの操作
※本サイト内容のリニューアル対応について
「VBAベーシック」については新試験の内容に対応済です。
変更範囲も限定的です。
リニューアルされた公式テキストを確認し、必要に応じて追記しました。
「VBAスタンダード」については一部新試験に未対応部分があります。
目次については、新試験で削除された項目も残しています。
削除項目は飛ばしてお読みください。
ただし、実務としてはどれも必要なものになりますので、
学習すること自体は決して無駄ではありません。

出題範囲の追加項目については、
ExcelマクロVBA入門
・VBA学習の進め方について ・1. VBAの基礎・基本:VBA入門 ・2. VBA入門に必要なVBEの基本的使い方 ・3. VBAプログラミングの基礎・基本 ・4. Excel各種機能とオブジェクトの理解:VBA入門 ・5. VBA初級からVBA中級を目指して ・6. VBA入門の後日追加記事 ・7. VBA入門その後の学習について ・「VBA入門」の記事を学校の授業もしくは企業研修でお使いになる場合
こちらの中で全て解説していますので、当該ページへのリンクとしている項目もあります。。

本シリーズの目的

当然のことながら、
VBAエキスパート試験に合格するためのVBA知識の習得にあります。

しかし、試験合格後の事も考えれば、
業務改善の実務での活用についても、出来る限り意識しながら書いていきたいと思っています。

従って、既にVBAエキスパートに合格している方にとっても、
業務改善の実務に活かす場合の参考になるように書いて行きたいと思っています。

VBAエキスパート学習の意義

2020年小学校プログラミング必修化 !

さすがに、大人が小学生の学習教材でプログラミングを勉強するという気にはならないと思いますし、
実社会において、小学校プログラミングでは業務にいかせません。

後十数年もすれば、小学校からプログラミングを教育された子供たちが社会に出てきます。
その時に、プログラミングなんてやった事ないでは・・・
現在の50代以上の中には、会社にPCが導入されて苦労した人も多いはずです。
そういう時代が来ることを予想して準備していなければ、そうなっても仕方ありません。

プログラミング言語は多数あります。
その中で、大多数の人が業務に直接いかせる言語はVBAだと言って良いと思います。
ほぼ全てのPCに入っているExcelがあれば、直ぐに始められるプログラミング言語がVBAです。
そして、
せっかく学習したのなら、その成果を確認する意味で試験を受験してみることは良いでしょう。
もちろん、
これから、就職・転職を考えているなら、需要の多い有望な資格であることはご存知の通りです。

VBAエキスパートの種類

Excel VBA ベーシック
Excel VBA スタンダード
Access VBA ベーシック
Access VBA スタンダード

ここでのVBA対策は、Exce VBA 限定になります。

VBAエキスパート公式テキスト

2019/5/30発売リニューアル版


2019/7/26発売リニューアル版

こちらは必須として購入した方が良いでしょう。
※筆者自身は、記事を書くために新旧ともに2冊ずつ購入しました。

ちょっと高いなーとは思いますが、
書籍を購入することで、学習用データが提供されています。
・サンプルブック
・VBAエキスパート模擬問題
これらが使えるようになります。

このシリーズでは、テキストを読みながら学習していることを前提とします。
そうしないと、無駄な説明が多くなり要点がはっきりしなくなってしまいますし、
テキストと同じことを説明したのでは書く意味がありませんので。

ただし、出来る限りこのサイトだけで学習できるようには書くつもりでいます。

筆者が模擬問題プログラムをやってみた

※以下は旧試験の模擬問題をやった時のことです。

ベーシック、スタンダードの両方の模擬問題プログラムを実際にやってみました。
2つやるので時間的な事もあり、結構急いで回答しました。
それでも所要時間は、ベーシックが15分くらい、スタンダードが25分くいかかったでしょうか。
使う時間の大半は問題の文章を読む時間と、紛らわしい回答群の確認になります。
特にスタンダートはVBAコードも長くなりますので、VBAコードを見るのに時間が必要になってきます。

試験内容とやり方の確認が目的なので、特に見直しもせずに採点
結果は・・・
どちらも、35問正解/全40問
65%から80%くらいが合格ラインとのことなので、
まあ合格は大丈夫な点数だとは思いますが。
練習問題もやらずにいきなり挑戦し、急いで回答したとはいえ、
かなり不満というか、情けない点数ではあります。
それにしてもこのような問題だと、満点を取るのはかなり大変かもしれませんね。

やはりテストはテスト、回答時に細心の注意は必要なようです。
紛らわしい日本語も結構あるので、しっかり問題文の日本語を読み、
(これはどんな試験にも言える事ですけど。2つ選択で1つしか選択してないとかあったし)
VBAコードも、ほとんど同じようなVBAコードが並んでいるので、かなり良く見ないとダメですね。
また、単語の入力はスペル間違いがあるとダメなので、
ステートメント、プロパティ、メソッドのスペルはしっかり覚えタイプミスには注意が必要です。

たたし、実務では、、
多くの場合入力候補を使うので(というか、使うべきなので)、
スペルを完全に覚えている必要はほとんどありません。
このようなテスト方法であれば仕方無いのでしっかり覚えるしかありません。
そういう意味では、やはり資格試験としての限界かもしれません。
実務ではどうでも良い事を覚えるのに時間を費やさなければならず、
本来の業務に必要な知識の習得まで到達できていないように感じも少ししました。

各ページ内の構成

小分類の一覧
小分類の項目を列挙します。
【ここでのポイント】
なにを意識して学習したらよいか、
どこを重点的に覚えたら良いかを書きます。
小分類ごとの解説
テキストの中で、覚えるべき要点を整理して解説していきます。
テキストを読めばわかることは項目の列挙程度にとどめます。
テキストでは長文で解説しているものを、覚えやすいように簡潔な文章で説明
テキストでは用語が出てくるだけでほとんど解説していないが重要な事を詳細解説
テキストでは扱っていないが試験に出る可能性のありそうな事項を追加解説
つまり、参考書的な見方をしてもらえれば良いと思います。
公式テキストは、それぞれ200ページ以上ありますので、同様の事を全て解説する訳にも行きません。
なるべく簡潔な文章で、要点のみ解説するようにしたいと思います。
【業務改善の実務】
試験に合格した後に、業務改善の実務に活かしたいですよね。
そこで、
業務改善の実務で活用する場合の助言や、
逆に実務で使わない内容であれば、その理由と実務でのVBAコードの提示。
合格後に少しでも業務改善の実務に活かせるように出来ればと考えています。
【本サイト内の関連ページ】
本サイト内で同様の解説をしているページ
本サイト内で応用として使っているページ
これらへのリンクを掲載します。
学習の補助として、業務改善の実務の参考として使えるようにしたいと思います。

VBAベーシック:VBAエキスパート対策

以下はVBAエキスパートの公式サイトに出ている出題範囲で、このシリーズの目次です。
出題範囲の大分類ごとに1記事で作成します。
公式テキストとは章立てが若干違っている部分もありますが、このシリーズでは出題範囲を採用しました。
  • マクロとVBAの概念
    マクロとは何か
    VBAとは何か
    VBAの特徴
    Visual Basic Editorの操作と画面
    ブックとマクロの関係
    セキュリティレベル

  • マクロ記録
    マクロ記録とは
    マクロ記録の限界
    マクロ記録の活用方法
    記録のしかた
    記録される場所
    標準モジュール
    個人用マクロブック

  • VBAの構文
    オブジェクト式
    ステートメント
    関数(Right、Left、Mid、InStr、Now、Format、MsgBox、InputBox など)
    演算子(「+」「-」「*」「/」「^」「\」「Mod」「And」「Or」「Not」
    モジュールとプロシージャ

  • 変数と定数
    変数の意味
    変数の宣言
    変数の代入と取得
    スコープ
    定数の意味と使い方

  • セルの操作
    RangeとCells
    セルにデータを入力する
    セルのデータを取得する
    セルの書式設定

  • ステートメント
    If...End If
    For...Next
    With...End With

  • ブックの操作
    ブックを開く
    ブックを保存する
    ブックを閉じる

  • シートの操作
    シートを挿入する
    シートを削除する
    シートに関連する基本的な操作

  • マクロの実行
    Visual Basic Editorから実行する
    [マクロ]ダイアログボックス
    シート上にボタンを配置する
    メニュー/ツールバーに登録する
    クイックアクセスツールバーに登録する

  • VBAベーシック試験対策まとめ

VBAスタンダード:VBAエキスパート対策

以下はVBAエキスパートの公式サイトに出ている出題範囲で、このシリーズの目次です。
出題範囲の大分類ごとに1記事で作成します。
公式テキストとは章立てが若干違っている部分もありますが、このシリーズでは出題範囲を採用しました。

  • プロシージャ
    引数の意味
    引数の宣言
    値渡しと参照渡し

  • イベント ・・・ 出題範囲から削除
    イベントとは
    ブックのイベント
    シートのイベント

  • ステートメント
    Select Case
    Do...Loop
    For...Eachほか

  • APIとOLEオートメーション
    OLEオートメーションの概念
    OLEオートメーションの使い方
    OLEオートメーションの注意点
    APIの概念
    APIの使い方

  • 変数と配列
    静的変数 ・・・ 出題範囲から削除
    動的配列
    オブジェクト変数
    ユーザー定義型

  • レジストリの操作 ・・・ 出題範囲から削除
    レジストリの概念
    レジストリ操作の注意点
    レジストリに登録する
    レジストリを取得する
    レジストリを削除する

  • ファイルの操作
    テキストファイルの操作 ・・・ 出題範囲から削除
    ファイルのコピーと移動
    フォルダの操作
    文字列操作によるパスの指定 ・・・ 出題範囲に追加

  • 関数
    よく使う関数
    WorksheetFunctionオブジェクト ・・・ 出題範囲に追加

    追加内容に関する本サイト既存ページ
    WorksheetFunction|VBA入門
    ・ワークシート関数の使い方 ・WorksheetFunctionで使用できる関数 ・個別の関数の使い方 ・関数の結果(戻り値) ・WorksheetFunctionの使用例. ・検索系の関数での日付の扱い ・WorksheetFunctionのエラー対処 ・最後に

  • 検索とオートフィルター ・・・ 出題範囲に追加
    検索の基本 ・
    見つからなかったときの判定
    検索したセルを使う
    オートフィルターの基本
    絞り込んだ結果のコピーとカウント
    絞り込んだ結果の編集

    追加内容に関する本サイト既存ページ
    Findメソッド(Find,FindNext,FindPrevious)|VBA入門
    ・Findメソッド ・FindNext メソッド ・FindPrevioust メソッド ・Application.FindFormatメソッド ・FindメソッドとFindNextメソッドの実戦例
    オートフィルタ(AutoFilter)|VBA入門
    ・Range.AutoFilterメソッド ・AutoFilterModeプロパティ ・AutoFilterオブジェクト ・オートフィルタのVBA使用例 ・日付のフィルタ ・オートフィルタまとめ
    複雑な条件(複数除外等)のオートフィルター(AutoFilter)
    ・"A","C"で絞り込む場合 ・"A","C"以外で絞り込む場合 ・"A","C","E"以外で絞り込む場合 ・作業列を追加

  • データの並べ替え ・・・ 出題範囲に追加
    簡単な条件の並べ替え
    複雑な条件の並べ替え
    特殊な並べ替え
    文字列の並べ替え
    フリガナの操作 ・

    追加内容に関する本サイト既存ページ
    並べ替え(Sort)|VBA入門
    ・Range.Sortメソッド・・・Excel2003までのソート ・2007以降の並べ替え ・Excel2003までのSortとExcel2007以降のSortの使い分け
    GetPhoneticメソッドとSetPhoneticメソッド(フリガナ)|VBA入門
    ・GetPhoneticメソッド ・GetPhoneticメソッドの使用例 ・SetPhoneticメソッド ・SetPhoneticメソッドの使用例

  • テーブルの操作 ・・・ 出題範囲に追加
    テーブルとは何か
    テーブルの特定
    テーブル部位の特定
    テーブル操作の例

    追加内容に関する本サイト既存ページ
    テーブル操作の概要(ListObject)|VBA入門
    ・ListObjects コレクション ・ListObject オブジェクト ・テーブル操作のVBAコード
    テーブル操作のVBAコード(ListObject)|VBA入門
    ・テーブル操作のVBAサンプル使用例 ・テーブルに設定 ・テーブルスタイル一覧 ・テーブルの存在確認 ・テーブルを範囲に変換 ・テーブルの範囲を再設定 ・テーブルのセルに値を入れる ・テーブルのセルの数式変更 ・テーブルの行・列のクリア ・テーブルの列の数式設定 ・テーブルの行挿入・削除 ・テーブルの列挿入・削除 ・テーブルのオートフィルター ・テーブルの並べ替え(ソート) ・テーブルの集計行挿入・削除・非表示 ・テーブルの右端に集計列追加 ・テーブルに新しい行列を含めない ・テーブルの使い方の基本 ・サイト内のテーブルに関するページ

  • ユーザーフォームとメニューの操作 ・・・ 出題範囲から削除
    ユーザーフォームの操作
    コントロールの操作
    メニューとツールバーの操作

  • エラーへの対処
    On Error Goto
    On Error Resume Next
    Errorオブジェクトほか
    エラーが起きないデータに整える ・・・ 出題範囲に追加

    追加内容に関する本サイト既存ページ
    エラー処理(On Error)|VBA入門
    ・マクロVBAのエラー発生例 ・エラー処理のステートメント ・実行時エラー関連記事
    「On Error Go To」と「Exit Sub」|VBA入門
    ・On Error GoTo 行ラベル ・Exit Sub ・On Error の有効範囲とその動作について ・最後に
    「On Error Resume Next」とErrオブジェクト|VBA入門
    ・On Error Resume Next ・Errオブジェクト ・On Error Resume Next の使用例 ・「On Error Resume Next」の最後に

  • デバッグの基礎 ・・・ ベーシックよりスタンダードに移動
    デバッグとは
    論理エラーと文法エラー
    イミディエイトウィンドウ
    ブレークポイント
    ステップ実行

  • VBAスタンダード試験対策まとめ

あとがき:VBAエキスパート対策

筆者の受験記
実際に受験したら書こうと思います。
試験会場が遠いんですよね、それに、受験費用も結構高いし。

これから受験する人への助言
実際に受験してみて、
ここまでに書き漏れていたこととか、
受験時の注意とかを書ければと思っています。



新着記事NEW ・・・新着記事一覧を見る

VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)
累計を求める数式あれこれ|エクセル関数応用(2024-01-22)
複数の文字列を検索して置換するSUBSTITUTE|エクセル入門(2024-01-03)
いくつかの数式の計算中にリソース不足になりました。|エクセル雑感(2023-12-28)
VBAでクリップボードへ文字列を送信・取得する3つの方法|VBA技術解説(2023-12-07)
難しい数式とは何か?|エクセル雑感(2023-12-07)
スピらない スピル数式 スピらせる|エクセル雑感(2023-12-06)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.変数宣言のDimとデータ型|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.並べ替え(Sort)|VBA入門
8.条件分岐(IF)|VBA入門
9.セルのクリア(Clear,ClearContents)|VBA入門
10.マクロとは?VBAとは?VBAでできること|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ