プログラミング言語

VBAはどんなプログラミング言語?Office製品より活用できるようになる!?

Microsoft(マイクロソフト)社が提供するOffice(オフィス)製品は、世界的にも大きなシェアを誇っています。

そして、それらを使って作られて文書やファイルをさらに便利にできるのが、VBAというプログラミング言語なのです。

オフィスで働く女性が習得すれば、効率アップで時短ができますよ。

それでは、実際にどのようなものなのか、特徴を紹介していきます。

VBA、VB、マクロとの違いとは?

「VBA」と「VB」との違いは?

VBA(Visual Basic Applications)とVB(Visual Basic)は同系統のものですが、Microsoftのアプリケーション向けにカスタマイズされたものがVBAです。

もともとVBを使ったことがある人なら応用できるものが多数あるため、ほとんど違和感なく使い始められます。

しかし、注意しなければならない点として、Office製品でなければ使えないというものがあります。

VBAとマクロとの違い

マクロと混同してしまう人もいますが、この言語はマクロを作成するためのプログラミング言語であり、マクロそのものではありません。

大きな視野でみると同じものとも言えますが、作るための道具と、それによって作られた成果物という違いがあるのです。

マクロとExcelVBAの関係

マクロの記録

まず、マクロとはどんなものなのでしょうか。

マクロはExcelの操作を自動的に行うことができる、Excel上のプログラミングシステムということができます。

マクロを使ってExcelの操作を自動化する方法は2つあります。

1つは誰でも簡単にできる「マクロの記録」を使うことです。

「マクロの記録」では、ビデオで画像を録画するような手軽さで、Excelでの操作を1時的に記録し、再び再生することができます。

例えば、1ヶ月分の売り上げを表にまとめたExcelシートが12か月分あるとします。

今からこの表をもとに月別の売り上げグラフを12個作ることになりました。

表を選択し、折れ線グラフを作成するという操作を12回繰り返すのは骨が折れますね。

そこで、「マクロの記録」の登場です。

1回目の操作を記録しそれを他のシートで再生すれば、自動的に表からグラフが作られるという仕組みです。

「マクロの記録」メニューで記録を開始し、「記録終了」のボタンで記録を止めることができるので、プログラミングの勉強をしない人でも簡単にExcelを自動化できます。

しかし、「マクロの記録」は1つの決められた動作を機械的に繰り返すことしかできません。

条件に応じて処理を変えたり、指定された回数だけ処理を繰り返したり、といった「複雑な作業」を自動化することができないのです。

ExcelVBA

マクロを使ってExcelの操作を自動化する方法、2つ目はExcelVBAを使うことです。

ExcelVBAを使えば、非常に細かいExcel上の操作を自動化することができます。

「マクロの記録」のように型となる操作を必要としませんし、別のアプリケーションとの連帯もできてしまう優れものです。

例えば、こんなことができます。

・あるシートで条件に該当した項目だけを別のシートに転記する

・シート上のボタンをクリックするだけで、表に行が追加されるようにする

・フォームを表示し、フォームに入力された項目がExcelに自動入力されるようにする

・ExcelとWordやPower Pointを連動させる

・Web上のデーターを自動的に取得し、Excelに取り込む

このようにExcelVBAを使えばとても柔軟にExcelを操作することができるのです。

しかし「マクロの記録」とは違い、誰でも使えるわけではありません。

ExcelVBAを使うにはプログラミングを学ばなければならないからです。

その分、ExcelVBAを使うことができるプログラマーは一般的なOffficeユーザーに比べ、重宝な存在といえます。

他のプログラミング言語と比べたExcelVBAの難易度は?

それでは、ExcelVBAのプログラミング言語としての難易度はどれぐらいなのでしょうか。いくつかの要素から検討したいと思います。

プログラミング環境の設定

プログラミングを学ぶとき、初心者がつまづきやすいのが「環境設定」です。

実はプログラミングというのはパソコンを持っていれば誰でもできるわけではありません。

例えばPHPのようなサーバー上で動作する「サーバーサイドスクリプト言語」を学ぶ場合は、サーバーを借りてくるか、疑似的なサーバー環境をパソコンの中に整える必要があります。

Javascriptはパソコンが標準装備しているブラウザとメモ帳で勉強することができる「クライアントサイドスクリプト言語」です。

ただし、勉強しやすい環境のためにはメモ帳ではなく「テキストエディタ」とよばれるコード記述専門のエディタソフトを用意するべきでしょう。

それに対しExcelVBAはExcel内にプログラミングコードを書く環境も、実行結果を検証するシステムも整っています。

Excelさえパソコンにインストールされていれば、特に新しいツールをインストールする必要はありません。

ただし、最近はExcelが標準装備されていない格安のパソコンもあります。

Excel互換ソフトではExcelVBAを学ぶことはできませんので注意してください。

勉強の難易度

JavaScriptやPHPなどのプログラミング言語ができることは非常に多岐にわたります。

しかし、たくさんのことができるプログラミング言語ほど、勉強するのも難しくなります。

対してExcelVBAでプログラミングできる内容は主にExcelの操作になってきます(深く学べば、Web上の情報を操作したりもできますが)。

プログラミングできる範囲は他のプログラミング言語に比べて狭くなるかもしれませんが、その分プログラミングの結果をイメージしやすく、学びやすいプログラミング言語とも言えます。

また範囲が限定されているとはいえ、ExcelVBAを学べば、プログラミング言語に共通のループや条件分岐などのやり方を身に着けることができます。

プログラミングの入門としてExcelVBAを勉強すれば、次に他のプログラミング言語を学ぶ際にもきっと役に立つことでしょう。

使用できる場所は限定されているが需要は高い

特定アプリケーションでしか使えない言語と考えると、あまり有用ではないという印象を受けるかもしれません。

しかし、その特定アプリケーションのシェアが世界でもトップクラスなので、このプログラミング言語は様々な現場で高い需要があります。

Excelといえば、今やどんな仕事場でも使われているOfficeアプリケーションの代表格です。

しかし、その使い方を習熟している人はあまりいないのが現状です。

その中で、Excelを自動化するスキルを持っているExcelVBAのプログラマーは非常に重宝される存在になることでしょう。

普通プログラミングを学んでそれを仕事に生かそうとすれば、Web製作の会社やアプリケーション製作会社など、技術職への転職が必要になります。

しかし、プログラマーを必要としている会社は東京や大阪など都市部に固まる傾向があり、地方住まいでは転職先が見つかりにくいという難しさがあります。

あるいは、クラウドソージングサービスを利用して、在宅でプログラミング作業を受注するパターンもあるかもしれません。

とはいえ在宅での仕事も、他のプロプラグラマーとの競争になりますから、最初はなかなか仕事が受注しづらいのが現状です。

しかし、ExcelVBAの場合は、様々な職場で技術を生かす機会があります。

特に女性に人気がある事務系の仕事。Offficeソフトを使う機会の多い事務の仕事では、ExcelVBAを使えば仕事の効率が飛躍的にアップする可能性大です。

比較的応募者が多く、転職が難しいとされる事務系の仕事ですが、ExcelVBAの技術を身に着ければ、「Excelでグラフが作れます」というだけのライバルに大きく差をつけるチャンスになります。

ただし、ExcelVBAは一般的にそれほど知られている存在ではありません。

転職先の面接官にExcelVBAの知識がないようなら、「こんなことができます!」という具体的な事例アピールを履歴書や職務経歴書に盛り込むとよいかもしれませんね。

また、転職をせずとも今の職場でもExcelVBAのプログラミング技術を生かすことができるかもしれません。

売り上げの計算やシフト表の作成などで困っている上司をプログラミング技術で助けてあげれば、「あの人はすごい!」と一目置かれる存在になれるのではないでしょうか。

さらにいえばExcelVBAを使ったプログラミングのお仕事は、他のプログラミングのお仕事に比べれば数は少なめですが、クラウドソージングサービスでも募集がかかることがあります。

今の職場でも、転職先でも、在宅でも、いろいろな場面で活躍の機会があるのがExcelVBAのスキルです。

VBAは学びやすく、プログラミングの入門用としても高い人気がある言語です。

おすすめプログラミングスクール

⇒転職・就職サポートがあるプログラミングスクールはココ!