【VBA】 0. まえがき

ExcelVBAについての解説をする書籍やネット上のサイトは数多く存在しますが、その多くが全体を網羅的に解説しようとすることに力点を置くあまり、それぞれの情報には重要度の高低があるにも関わらず、大半の書籍やネット上のサイトはそれらを同等のものとして解説しています。

それぞれの情報の重要度は、それを理解し使いこなしてから分かることがほとんどのため、初学者の方は重要度の高低に関わらずあらゆる知識をやみくもに習得しようとして、消化不良に陥っているのではないかと推測しております。

これまで数年間、私は独力でExcelVBAの習得を一から開始し、約100個のExcelマクロを作成する過程で、様々な書籍やネット上のサイトから知識を得てコーディングを行う中で、初学者の方がExcelVBAを身に付け、実際に動作するExcelマクロのコーディングができるようになるために、必須である情報のみをまとめたサイトを作成することを構想し、ここで公開していきます。

ExcelVBA解説系で紹介するExcelVBAに関する情報は、以下の方針で記述いたします。

  1. 現場で役に立つExcelマクロの開発ができるようになるために、ExcelVBAを最短距離で習得できるような構成とする。

  2. 各種メソッド/プロパティ/関数/引数などの情報について、網羅性を求めると重要度の高低が分かりづらくなり、ExcelVBAの習得の妨げになるため、私の経験上プログラムを作成する上で必須と考えるものに絞って解説する。

  3. 変数名やプロシージャ名などの自由度が高く、人によって命名の仕方が異なるものについては、私が経験的に分かりやすいと考えているemalabo式ネーミングルールを公開し、サンプルコードはそのネーミングルールで命名したものを使用する。

  4. 他の書籍やネット上のサイトでは解説されていないが、明らかに優位性があり、効果的なコーディング方法をemalabo式コーディング技法として公開する。

ExcelVBA解説系では、ExcelVBAについて網羅的に解説するつもりはありませんので、ExcelVBAをマスターしたい考える方は、以下の方針で進めることを推奨します。

  1. まず最初に、本サイトで紹介するExcelVBAの解説について熟読し、実際に動作するExcelマクロを作成できるようになる。

  2. こちらの情報だけでは足りない場合は、以下の2つの情報源から補強する。
    1. 「できる大事典 ExcelVBA 」という本には、網羅的かつある程度深いところまでExcelVBAについて記述されているので、これを買って、辞書のように使用する。
      (現在、私が所有するExcelVBAの本はこの1冊のみで、私のExcelVBAのバイブルです。)
    2. 上記の本に載っていないことも多数存在するので、その場合はGoogleなどでネットを検索し、解決する。
      なお、ネット上のサイトも玉石混交ではあるが、以下のサイトは信頼に値する。
      Office TANAKA:http://officetanaka.net/
      エクセルの神髄:https://excel-ubara.com/
      Tipsfound:https://www.tipsfound.com/
      インストラクターのネタ帳:https://www.relief.jp/
      moug:https://www.moug.net/

なお、ExcelVBAを解説する上で、例えば以下のような例が割と頻繁にあります。

  • 通常は、・・・のように使用します。
  • (ただし、あまり使われないが、例外的に・・・のような使用方法もある。)

上記のような場合に、厳格に正確性を求めると、上記のように記述するしかありませんが、このように記述すると解説が冗長化し、分かりづらいものとなるため、理解のしやすさを優先し、基本的には以下のように記述することとします。

  • 解説では、「・・・のように使用します。」と通常の場合のみを記述します。
  • 「通常は、」、「(ただし、あまり使われないが、例外的に・・・のような使用方法もある。)」といった記述は、記述しません。
  • 例外ケースについては、書籍やネット上の情報で補足してください。

この記事を書いた人

某IT企業に勤務。

2年間の休職を経て、一から独学でExcel VBAを習得し、半年でExcel VBA エキスパート資格のスタンダードに一発合格。

社内の非効率的な作業を効率化するExcelマクロの開発を、全行程まるっと一人で請け負い、これまでに約100個のExcelマクロを開発し、現在も増産中。

目次