エクセルでプログラミング|VBAでマクロ開発をはじめる方法

vba

エクセルでは、VBAという言語をつかってプログラミングができます。また、このプログラミングによってできた機能をマクロと言いますが、VBAをつかったマクロの開発ができるようになれば、これまで人の手でおこなってきた作業を自動化するマクロも作成ができます。

ここでは、VBAやマクロとは一体どういったものであるかの紹介や、マクロを開発するための準備や設定方法とVBAをつかったマクロ開発を学ぶメリットなどをまとめています。

VBAについて知りたい人、日常の業務や作業でエクセルを使っている人はスキルアップにつながる内容ですので、ぜひこちらを参考にVBAでマクロ開発をはじめてみてください。

この記事は以下のような人におすすめです。

●VBAって聞いたことがあるけど、一体どういったものから知りたい

●エクセル関数を使うとファイルが重くなるので改善したい


●もっとエクセルのテクニックを身につけたい


●VBAをおぼえて事務作業をもっと効率的にしたい・負担をへらしたい


●これからプログラミングを覚えていきたい

エクセルでプログラミングができるんだよ。準備が簡単ですぐにはじめられるよ。

独学だと中々スキルが身についた実感が湧かない。学習環境を見直してみませんか?

エクセルで繰り返しや転記作業で苦しい思いをした経験はありませんか?
今まで苦労してきたその作業を簡単なプログラムをおぼえるだけで解決できる可能性があります。
なるべくお金や時間をかけずにエクセルマクロVBAを習得したい人にはこちらの「1日速習講座」がおすすめです。

【結論】エクセルVBAでマクロの開発をはじめる方法は簡単

パソコンにエクセル(MicrosoftExcel)がインストールされていれば、初期状態から設定を変更するだけで開発をはじめられます。

エクセルでVBA(マクロ)開発をはじめるための設定は以下のとおりです。

エクセルの設定で開発タブを表示する(オプションからリボンのユーザー設定を変更する)

開発タブより、Visual Basicをクリックして、VBE(Visual Basic Editor)を起動する

VBE(Visual Basic Editor)とは、VBAを書くためのエディターを備えた統合開発環境ソフトです。

これ1つでユーザーフォームの作成から、ソースコードをコンパイル、実行やデバッグもできる優れものです。プログラミング言語によっては、開発をはじめる前の環境を準備することが複雑で難しいものもあるため、エクセルに開発環境が含まれている点を考えると、VBAはプログラミングをはじめるためのハードルがもの凄く低いです。

プログラミングを学習したいと考えているけど、環境の準備が難しいと、そこで挫折してしまうことはよくあるよ。

それでは、エクセルの設定を変更してVBEを起動するまでの手順を解説していきます。

エクセルVBAとは・マクロでできることについて

エクセル(Excel)VBAとはプログラミング言語であるか

結論から言えば、VBA(ビジュアル・ベーシック・フォー・アプリケーション)は、汎用プログラミング言語です。

マイクロソフトオフィスに含まれる文書作成アプリのワード、表計算アプリのエクセル、データベースアプリのアクセス・プレゼン資料作成などに利用するパワーポイント、メールの送受信が行えるアプリであるアウトルックなどを操作することが可能です。

VBAは1991年に「Microsoft」によって開発・提供されたプログラミング言語である、VB(ヴィジュアル ベーシック)を、オフィス(office)に搭載したものです。

VBAの歴史についてもっと詳しく知りたい人は以下のリンクをクリック
参考:ウィキペディア

エクセル(Excel)VBAでできること

表計算ソフトであるエクセル(Excel)や、データベースの作成や管理ができるアクセス(Access)などのアプリケーションにおいて、業務におけるデータの入出力・転記・検索・照合・並び替えなどを処理を自動化したり、特定の処理を効率化したりと、作業の負担を減らしたり、他のマイクロソフトオフィスのアプリ間と連携をして操作することも可能です。

例えば、ブラウザアプリを起動し、インターネットからデータ取得(スクレイピング)や、メールアプリを起動してメールを送信する処理を自動化、または半自動化することができます。

エクセル(Excel)VBAとエクセルのワークシート関数や数式と異なる点

エクセルで関数や数式がつかえる人にとって、VBAでつくったマクロを使わなくてもできることがたくさんあります。しかし、エクセルのワークシート関数だけでは実現することが難しい機能でも、VBAでつくったマクロでなら実現ができます。
以下は、エクセルのワークシート関数のみでは、自動化や効率化の実現が難しい点をまとめたものです。

エクセルのワークシート関数のデメリットや実現が難しい点

●基本的にシート関数では繰り返し処理はできない

●ワークシート上の数式や、関数はユーザーによって意図せず編集されてしまう恐れがある

●ワークシート上の数式が、複雑になったり文字数が多くなるとファイルの容量が大きくなる

●原則として関数や数式を実行する契機が自分で設定できない

エクセルやアクセス以外のアプリとの連携ができない

しかし、実装したい機能や、解決しなければならない課題の内容によっては、ワークシート関数や、数式をつかったほうが相性が良いものもあるので、VBA(マクロ)と組み合わせて開発していくと効率的な開発ができます。

マクロとはエクセル(Excel)VBAとのちがい

エクセルで開発と言えば、「マクロ」と呼ばれる言葉を一般的によく聞くことが多いように思います。恐らくインターネットで”エクセル VBA”のキーワードで検索しても、マクロに関する記事が検索結果として表示されるかと思います。

一見、同じような言葉であるかの印象ですが、ここではVBAとマクロの違いについて解説します。

エクセル(Excel)のマクロとは操作を自動化する機能

VBAについては、ビジュアル・ベーシック・フォー・アプリケーションと呼ばれるプログラミング言語だとお伝えしましたが、『マクロ』とは、VBAでつくった機能そのものを指す言葉になります。
また、VBAでプログラミングしなくても、エクセルにはマクロの記録をする機能があるため、こちらでつくったものもマクロと呼びます。

マクロの記録は、事前に記録した一連の操作を簡単に呼び出すための機能ですが、記録したユーザーの操作から、コンピューターがコーディング(プログラミング)を代わりにしています。自分でコーディング(プログラミング)をしなくても良い点で、VBAについての知識がない人でも、マクロが作れる点で便利な機能と言えるでしょう。

しかし、マクロの記録では自動化の醍醐味である繰り返しの操作が記録できないことや、非効率なコードが使われていることもあるため、マクロの真価を十分に受けとることができるとは言えないでしょう。

VBAとマクロの違いは以下のとおり

●VBAはマクロという機能を動かすためのひとつの手段である

●マクロの記録でコードを書く(プログラミング)をしなくても操作を自動化はできる

●マクロの記録でもコンピュータが自動でコードが作成される

●マクロの記録で作成されたコードが最適でないことがある

●マクロを使う上でもVBAのコードを読める知識は有効である

VBAはプログラミング言語で、VBAでつくられた機能をマクロと呼ぶ。ってことだね

エクセル(Excel)VBAでマクロの開発をはじめる方法

ここからは、VBAでマクロを開発をはじめるための設定方法を紹介します。Microsoftエクセルが使えるパソコンがあれば、別のアプリをダウンロードやインストールする必要はありませんので、簡単にはじめることができます。

VBAでマクロの開発をはじめるための設定方法(エクセル)

まずはパソコンでエクセルを起動

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

画面左下にある「オプション」を選択します

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

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

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

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

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

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

Visual Basic Editorの初期設定では白い画面が表示されています。初期設定で使いにくさを感じるようであれば、背景や文字の色を変更するなどの表示を変更することもできます。(※掲載画像では変更した後なっています)

表示の設定変更方法については、以下のサイトが丁寧に紹介してくれていますので、こちらを参考にすることをおすすめします。ここで掲載しているVBE画面の画像も、こちらのサイトに紹介されていた内容を参考に設定しています。

外部サイトに接続します。
参考:いつも隣にITのお仕事

ここまで説明した手順でVBAをつかったマクロを開発する準備が整いました。
さっそく実際にコードを書いてマクロを作っていきたい人はこちらの記事からすすめることができます。

エクセル(Excel)VBAでマクロの開発ができるメリット

ここではVBAを学ぶ・使うことでのメリットについて紹介します。

VBAを習得することで得られるメリットは大きく分けて2点になりますのでそれぞれについて説明します。

エクセル(Excel)VBAで入力や記録などの事務作業を効率化

最も目に見えて変わるところとして、繰り返し作業を効率化・自動化できるところです。
またこれらを任意の”きっかけ”で起動できるところです。

プログラムを起動するきっかけとは、ワークシートにボタンを設置して、そのボタンを押すと処理がはじまるような、誰もが一度は目にしたことがあるようなものが頭に浮かびますが、他にも、ファイルを起動することをきっかけにしたものや、特定の範囲のセルが書き換えられたこときっかけに起動するもの、指定時間になれば起動するものなど、起動するきっかけの種類はさまざまです。

また、マクロを開発するために、VBAでプログラミング(コーディング)をする時間は必要となりますが、作ってさえしまえば、あとの作業にかかる労力や、時間を削減できるので長期的に考えれば負担が軽くなります。社内で行っている毎日、毎週、毎月発生する事務作業で使えるようになれば高い効果が実感できます。

さらに、汎用性のあるマクロを作ってしまえば、作成したファイルに限らず、他のファイル(様式)にも使うこともできます。たとえば、作成したプログラムを完全に流用することができなくても、大部分をコピペし、そこからアップデートすることで、他のマクロを開発することにかかる労力も減らすための資産に変わっていきます。

マクロの開発を続けていけば、色々なケースに対応できる自分だけの辞書ができるよ。

VBAを学ぶと他のプログラミング言語の学習にも効果がある

VBAを学習することで得られるメリットは、事務作業の負担をへらすことができる以外もあります。それは他のプログラミング言語を学習していくステップとなることです。

プログラミング言語はたくさんあり何を学ぶべきか迷う人もいますが、まだどの言語もさわったことがない人は、開発環境の準備のハードルが低い言語で学習をはじめてみることをおすすめします。

「 VBA 」や「 Python 」以外にも「 Java 」や「 JavaScript 」、「 SQL 」、「 GAS 」、「 PHP 」なども使った経験がありますが、ひとつの言語である程度の学習をした経験や知識は、未経験の状態と比べて間違いなく他の言語を習得しやすくなります。

言語がちがっても、プログラミングで共通することはたくさんあるよ。

エクセル(Excel)VBAでマクロの開発ができるメリット

エクセルVBAでマクロの開発を実践していくことで得られるメリットをまとめると以下となります。

VBAでマクロの開発できると得られる日常業務でのメリット

●繰り返し作業を効率化・自動化ができる

●プログラムを開始するきっかけを指定することができる

●汎用性のあるプログラムは使いまわせる

VBAでマクロの開発できると得られるその他のメリット

●他のプログラミング言語の学習をはじめる時に理解しやすくなる

●クラウドソーシングなどで副業・フリーランスとして仕事を受けられるようになる

「エクセルVBAでマクロ開発のはじめかた」まとめ

VBAとは?マクロとは?一体どういったものか

エクセル、アクセス、ワード、アウトルック、パワーポイントなどのアプリケーションを操作したり・カスタマイズしたりできるプログラミング言語であり、WindowsやmacOS上で動作が可能なもの。

VBAでマクロの開発のはじめ方と必要な環境・設定方法

VBE(Visual Basic Editor)があれば開発ができる。プログラムの実行環境を別途準備する必要がない。VBEを起動するにはエクセルで簡単な設定を実施するだけで良い。

VBAでマクロの開発ができるようになるメリット

●Officeを使ってデータベースや帳票管理をしている職場では貢献度は高い

●毎回行う繰り返し作業や機能を自動化し、作業負担を減らすとともに効率化が可能


●プログラミング言語による作法の違いはあれど、他の言語を学ぶ上でもVBAで得た知識は役立つ

コダマのもりブログはにほんブログ村に登録しています。
今回の記事が役に立ったと感じて頂けたら、フォローお願いいたします。

コメント

タイトルとURLをコピーしました