この記事は以下のような人におすすめです。
〇VBAって聞いたことがあるけど、一体どういったものから知りたい
〇エクセル関数を使うとファイルが重くなるので改善したい
〇もっとエクセルのテクニックを身につけたい
〇VBAをおぼえて事務作業をもっと効率的にすすめていきたい
〇これからプログラミングを覚えていきたい
【結論】エクセルでVBA(マクロ)開発をはじめる方法
エクセルでVBA(マクロ)開発をはじめるための設定は以下のとおりです。
エクセルの設定で開発タブを表示する(オプションからリボンのユーザー設定を変更する)
開発タブより、Visual Basicをクリックして、VBE(Visual Basic Editor)を起動する
ものすごく簡単に言えば、手順はたったの2つでエクセルをつかってVBA(マクロ)の開発が可能です。
それでは、ここからは詳しく解説していきます。
エクセルVBA(マクロ)とは
エクセル(Excel)VBAはプログラミング言語
VBA(ビジュアル・ベーシック・フォー・アプリケーション)は、汎用プログラミング言語です。
マイクロソフトオフィスに含まれる文書作成アプリのワード、表計算アプリのエクセル、データベースアプリのアクセス・プレゼン資料作成などに利用するパワーポイント、メールの送受信が行えるアプリであるアウトルックなどを操作することが可能です。
VBAは1991年に「Microsoft」によって開発・提供されたプログラミング言語である、VB(ヴィジュアル ベーシック)を、オフィス(office)に搭載したものです。
エクセル(Excel)VBAで出来ること
エクセルやアクセスなどのアプリ内の処理を自動化したり、特定の処理を効率化したりと、業務におけるデータ入力などの事務作業の負担を減らしたり、他のマイクロソフトオフィスのアプリ間と連携をして操作することも可能です。
例えば、ブラウザアプリを起動し、インターネットからデータ取得や、メールアプリを起動してメールを送信するなどを自動化することも可能となります。
エクセル(Excel)VBAとエクセルのシート関数や数式と異なる点
〇基本的にシート関数では繰り返し処理はできない
〇シート上の数式や関数はユーザーによって意図せず編集されてしまう恐れがある
〇シート上の数式が複雑になったり、大量になるとファイルの容量が大きくなる
〇原則として関数や数式を実行する契機が自分で設定できない
エクセルで関数や数式がつかえる人にとって、VBA(マクロ)を使わなくてもできることがたくさんありますが、上記のようにVBAでしかできないことや、VBAを使うメリットがあるのも事実です。
実装したい機能や開発する内容によって、エクセル関数や数式との相性が良いものもあり、VBA(マクロ)と併用することができるので、部分ごとに組み合わせて開発することもおすすめです。
エクセル(Excel)VBAとマクロとの違い
エクセル(Excel)VBAについて調べたり、学習をはじめると「マクロ」というワードもどこかで必ず見かけます。一見すると同じ意味であるように思われがちですが、厳密に言えば異なるものとなります。
ここではVBAとマクロとの違いについて解説します。
エクセル(Excel)マクロとは
コンピューターの操作を自動化する機能そのもの
この説明だけではピンとこない人も多いかと思いますが、掘り下げて言えばエクセル(Excel)VBAもマクロを作る手段の内の1つとなります。
VBAでプログラムしてマクロという機能を動かしていることになります。
また、エクセルのマクロの記録は、VBAの様に事前に記録した一連の操作を簡単に実行できる機能ですが、コーティング(プログラミング)をしない点が大きな違いと言えるでしょう。
エクセルで行うマクロの記録も、コンピュータがユーザーの操作からコーティング(プログラミング)をしています。
マクロの記録では、自動でコードが作成される便利さはあります。
しかし、繰り返し操作の記録ができないことや、自動で作られたコードだと的外れな書き方になっている場合もあるためコードを読みとく上でもVBAの知識をつけておくことをおすすめします。
〇VBAはマクロという機能を動かすためのひとつの手段である
〇マクロの記録でコードを書く(プログラミング)をしなくても操作を自動化はできる
〇マクロの記録でもコンピュータが自動でコードが作成される
〇マクロの記録で作成されたコードが最適でないことがある
〇マクロを使う上でもVBAのコードを読める知識は有効である
エクセル(Excel)VBA開発をはじめるときの設定方法
エクセル(Excel)VBAを開発をするために必要な環境
VBAでプログラミングをはじめるにあたって必要な環境について説明します。
結論から言えば、パソコンにマイクロソフトオフィス(もっと言えばエクセル)があれば、今からでもVBAプログラミングをはじめることができます。
ただし、初回はエクセルでいくつかの設定が必要になりますので、その手順について画像つきで紹介していきます。
エクセル(Excel)VBAを始めるときの設定方法
まずはパソコンでエクセルを起動


エクセルが起動したら、以下の画面で「オプション」を選択


リボンのユーザー設定を選択し、メインタブより「開発」にチェックを入れてOK


これでリボンに「開発」タブが表示される


「開発」タブより「Visual Basic」をクリックすればVBE(Visual Basic Editor)と言われる開発環境が起動します。


ショートカットキー”Alt+F11″でも起動します。
(※”Fn”キーがある場合は”Fn+Alt+F11″で起動します。)


フォルダ選択状態で右クリックして「挿入」から「標準モジュール」を選択すれば準備完了です。
※ショートカットキー”Alt” +”I” + “M”でも同じ操作が可能です。


標準モジュール「Module1」が作られました。これでVBAのコードを書いていくことができます。
※実際にコードを書いていくエリアは黄色で囲んだ部分となります。


Visual Basic Editorの初期設定では白い画面が表示されているでしょう。
初期設定では使いにくさなどを感じるようでしたら、表示設定を変更することもできます。
※ここでの画像は変更した後の黒い画面になっています。
表示の設定変更方法については、以下のサイトが丁寧に紹介してくれていますのでおすすめです。
本記事の画像もこちらのサイトに紹介されていた設定となっています。
※外部サイトに接続します。
エクセル(Excel)VBA開発ができるメリットはあるのか
ここではVBAを学ぶ・使うことでのメリットについて紹介します。
VBAを習得することで得られるメリットは大きく分けて2点になりますのでそれぞれについて説明します。
エクセル(Excel)VBAで入力や記録などの事務作業を効率化
最も目に見えて変わるところとして、繰り返し作業を効率化・自動化できるところです。
またこれらを任意の”きっかけ”で起動することが出来るところです。
プログラムのきっかけをするとは、例えば、ワークシートにボタンを設置して、そのボタンを押すと処理がはじまるような一度は目にみたことがあるようなものや、エクセルの起動をきっかけにするもの、特定の範囲が書き換えられたこときっかけに起動するものや、時間を指定するなど。
また、プログラミングをする時間は必要となりますが、その後の作業にかかる労力や時間を削減することが可能になります。毎日、毎週、毎月発生する事務作業には効果を実感することができます。
また、汎用性のあるプログラムを作ってしまえば、他の様式でも使うこともできますので、作成したプログラムを再利用することであったり、そこからアップデートするなども可能です。
VBAが理解できると他のプログラミング言語も理解しやすくなる
VBAを学習することで得られるメリットは事務作業を効率的にすることができる。
と書きましたが、それ以外に他のプログラミング言語を学習していくステップにもなります。
プログラミング言語はたくさんあり何を学ぶべきか迷う人もいますが、はじめる上ので環境設定のハードルが低い言語で学習をはじめてみることをおすすめします。
「 VBA 」や「 Python 」以外にも「 Java 」や「 JavaScript 」、「 SQL 」、「 GAS 」、「 PHP 」なども使った経験がありますが、ひとつの言語をある程度学習した経験は、確実に他の言語を理解する上で役に立ちます。
他に「 クラウドワークス 」や「 ランサーズ 」などのクラウドソーシングサービスにおいて、VBAを扱う案件が出ることもありますので、副業やフリーランスエンジニアとして仕事を受けることもできるようになります。
実務面でのメリット
〇繰り返し作業を効率化・自動化ができる
〇プログラムを開始するきっかけを指定することができる
〇汎用性のあるプログラムは使いまわせる
その他のメリット
〇他のプログラミング言語の学習をはじめる時に理解しやすくなる
〇クラウドソーシングなどで副業・フリーランスとして仕事を受けられるようになる
「エクセルでVBA(マクロ)開発をはじめるための設定」まとめ
VBAとは一体どういったものか
エクセル、アクセス、ワード、アウトルック、パワーポイントなどのアプリケーションを操作したり・カスタマイズしたりできるプログラミング言語であり、WindowsやmacOS上で動作が可能
VBAの始め方と必要な環境・設定方法
VBAのソースコード作成・編集ソフトウェアおよびプログラム実行環境を別途準備する必要がなく、Officeのみで特別な環境準備や設定は不要
VBAを覚える利点・メリットとは
●Officeを使ってデータベースや帳票管理をしている職場では貢献度は高い
●毎回行う繰り返し作業や機能を自動化し、作業負担を減らすとともに効率化が可能
●プログラミング言語による作法の違いはあれど、他の言語を学ぶ上でもVBAで得た知識は役立つ
この記事では、VBAとは何か、から開発のはじめ方やVBAを学習するメリットについて紹介しました。
エクセル(Excel)VBAをこれから学びたいと考えている人にとって、少しでもお役に立てれば幸いです。
![]() ![]() にほんブログ村 | ![]() ![]() |
コメント