【VBA】Excelのアドインを自分の相棒に!:そのメリット、入手法、作り方

シェアする

addin1

Excelをそれなりの頻度で使っていると「こんな機能欲しいな」とか「ちょっとこの手順、短縮化できないの?」とか考えたことがある人
それを解決する一つの手段が今回紹介する『アドイン』。

知る人ぞ知るって感じの機能ですが、とても便利な機能ですのでここで紹介してみたいと思います。

1.アドインとは?何かいいことあるの?

『アドイン』とはExcelの機能を拡張できるツールのことです。機能拡張という意味だと『アドオン』とか『プラグイン』とかの表現も使われることがありますが、Excelでは『アドイン』が一般的のようです。
このツールをExcelに登録(アドインの追加)することにより、ただのExcelでは簡単にはできなかったようなことができるようになります。

ほんの一部ですが例をいくつかあげると、

  • 郵便番号(111-1111等)を住所に変換する
  • ファイル内の各シートを別々の新しいファイルとして保存する
  • フォルダ内のファイル一覧を出力できる

等々。これらはの機能はもともとExcelにはありませんが、アドインを使用することで機能追加ができます。

2.アドインを作成者によって分けてみる(入手法)

アドインと一言に言ってもその範囲は非常に広いので、とりあえずそれを「作成者」によって3つに区分してみます。

①:元々Excelに入っているアドイン
 Excelを使う目的って人によって全然違います。ある人は書類作成に使い、ある人はちょっと面倒な計算を行うために使うなど、千差万別です。

 そのため、もともと機能として備わってはいても、使う人がそんなに多くないだろうなと考えられる機能のいくつかがExcelの初期設定として『アドイン』となっているのです。

 例:ソルバー機能
 ソルバーとは(一般に複数の)変数を制約条件の範囲内で最適な設定を行うためのツールのことです。
 何が何やらという方もいらっしゃると思いますが、ちょっと高度な計算をExcelに求める人しか基本的には使わない機能だと思います。
 これもデフォルトでアドインとなっているため、ちょっとした作業(「開発」タブを表示させ、そこから「アドイン」に行き、ソルバーアドインを選択)が必要となります。

②:他の人がつくったアドイン
世の中にはアドインを作って公開されているものがあります。例えば、郵便番号検索!
Excelの作成元のMicrosoftのサイトで公開されています。

Excel アドイン: 郵便番号変換ウィザード (2000-2007 ユーザー用)

リンク先の使い方の説明に従ってアドインを組み込むことによって今まで使えなかった郵便番号変換の機能を使うことができるようになります。
この機能のほかにも様々な機能をもったアドインを公開している人がいますので、ぜひ探してみてください(いいものがあったら教えてほしいです!)

③:自分でつくったアドイン
こんな機能ほしいなと思った時にアドインを自分で作ることもできます!
何か特殊なプログラム環境とかいるんじゃないの?と思われたかもしれませんが、Excelがあれば作れます!

3.アドインの作り方:簡単なアドインを作ってみる

アドインといっても、その正体はマクロの書かれたExcelファイルを「アドイン形式」として保存したものに過ぎません。アドインの中にマクロを記述することによって、他のExcelからも利用できるようになるという仕組みです。VBAでコードを書いていくことで自分の好きな機能の追加が可能になるというわけです。
とりあえず簡単なものを作ってみましょう。

まず、Excelを開いて『Alt』+『F11』などでVBEを開いて以下のサンプルコードを入力します。
(このコードが入っているExcelファイルで「Ctrl」+「e」のショートカットでシートを自身のすぐ左にコピーすることができるようにするためのものです)

このコードを入力したファイルを「名前をつけて保存」を行うのですが、その際以下の通り「アドイン形式」に変更します。

addin2

「.xlam」「.xla」がアドイン形式ですが、この形式を選択すると、保存場所が自動的に変更され、この保存場所を変更せずに保存することができます。

保存を行うと、上記2.①で触れたのと同様に「開発」タブから「アドイン」からアドイン登録(組み込み)ができ(保存したファイル名がアドインの名称になっています)、他のExcelファイルを開いても先ほどのマクロで書いた、「Ctrl」+「e」のショートカットでシートを自身のすぐ左にコピーすることができるはずです。

普通にマクロを書いて動作させてもショートカットキーは作れますが、アドイン化のメリットは、他のファイル(ブック)を開いて使っているときでも、この機能を使うことができるということ!より汎用的な使い方ができるようになるのです!

あとがき

 今回はアドインについて紹介しました。今後はこのアドインにいろいろな機能を搭載させていこうと思います!
 
 1回コードを書かないといけないという手間はありますが、書いてしまえば、そこでできる作業は手で行う必要がないのでとても便利で、そのような”環境”を作っていくことはとても大事なことだと思います。

 個人的に作ったものを書いていくので、とても偏ったものになるかもしれません(上にも書きましたが、Excelの用途は人それぞれでとても広いので)が、 実際にどんなことができるのか、どのくらい便利なのか、を知るためのいい例にもなると思いますので、実感がわかない方も乞うご期待!

シェアする

フォローする