VBAとは?マクロとは違うの?概要を簡単にご紹介!!

ロゴ



The following two tabs change content below.
アバター

taka

あることがキッカケでVBAを独学で勉強しました、今ではブログを通してVBAでできることを解説しつつ、VBAや他の言語の勉強、ブログ運営の勉強をしています(^^♪

皆さんどうも、初めまして!この度はExcel VBA特化型ブログ【E-VBA】に来ていただきありがとうござます(^^♪

私はこのブログの管理をしている【taka】と申します!(^^)!
【E-VBA】takaのプロフィールはこちら

この記事はこれからVBAを覚えたい方、または興味がある方向けにExcelVBAとはどんなものなのか?また自分に必要なスキルなのか?などを実体験をもとにご紹介していく記事です( ^ω^ )

VBAとはなに?Excel以外もあるの?

そもそもVBAとは何か?

VBAはVisual Basic for Applications(ビジュアルベーシック・フォー・アプリケーションズ)の略で、MicrosoftOfficeシリーズに標準で搭載されているプログラム言語の一種となります。

VBAの元はVB(VisualBasic)という言語をもとに「ExcelやWordなどのMicrosoftOfficeシリーズ用に最適化」された言語になります。

Wikipediaの概要では下記のように解説しています。

マイクロソフトが1990年代に開発していた汎用プログラミング言語・Microsoft Visual Basicを、同社製品のMicrosoft Officeに搭載したものがVBAである。VBAを使用することで、Excel、Access、Word、Outlook、PowerPointなど、Officeのアプリケーション・ソフトウェアの機能をカスタマイズしたり、拡張したりすることができる。

Microsoft OfficeシリーズにはVBAのソースコード作成・編集ソフトウェアおよびプログラム実行環境が最初から付属しているため、使用を始めるにあたり、Office以外の特別なソフトウェアの用意やセッティングを必要としない。文献やネット情報も多く、最低限の学習で誰でも手軽にプログラミングが始められる。また、プログラムの実行が容易なことも特徴である。C言語などではソースコードを書き上げてからコンピュータに実行させる前に機械語に変換して実行プログラム形式として出力するためのコンパイルおよびリンク(ビルド)作業が必要だが、VBAは疑似コード (Pコード) ベースのコンパイラ型およびインタプリタ型両方の性質を持っており[1]、ユーザーが記述したソースコードを1アクションで自動的に疑似コードにコンパイルして直接コンピュータに実行させることができる。手軽に利用できる一方で、汎用プログラミング言語に共通の機能は一通り備えており、高度な機能まで修得しようとすると相応の学習が必要である。
引用:Wikipedia「Visual Basic for Applications」

小難しく書かれていますが、簡単に言うと『Officeソフトに含まれている、便利機能を自分で作成できる機能』と思ってください!

MicrosoftOfficelシリーズは大小かかわらず様々な企業に必ずと言っていいほどインストールされているソフトウェアです。

ExcelやWordにはマクロの記録など初心者でもVBAに触れることが出来る便利な機能がありますので存在を知っている方は意外と多いかもしれませんが、『VBAを使いこなす事が出来る人』はごく一部です。

リンク:VBAorマクロが使える人の割合

VBAを使いこなすことができれば、関数等ではできないこと様々なことが可能になり、業務効率の改善率は計り知れません。

他にもIE(インターネットエクスプローラー)を操作したりOutlookを操作したりと様々なことが可能になります!

そしてその機能を使って自分の思い描いたシステムを作成することが可能になるのです ^^) _旦~~

VBA・マクロを覚えると仕事がどう変わるのか?

まぁプログラムは作り手によって変わってきますので、どれくらいというのは明言できませんが、確実に作業効率が上がるということは確かです。

私はよく主にExce lVBAで開発をしています。(こんなサイトを立ち上げてるので当たり前ですが・・・)

VBA使用の改善例!業務を改善したのはたった10行のプログラム

プログラムコード

これは実体験ですが、私の会社では出勤簿などをExcelで作成されていました、私が作る前は各個人にSheetが用意されており、そのSheetには各個人の名前とカレンダーがありました(;´Д`)

前任者の作成したExcelファイルでは、来月分の出勤簿を作成するにあたり、この9つのExcelシートすべてのカレンダーを手で編集するという手間をしていました・・・

いわゆる9度手間ですね(笑)

9つのシートのすべてのカレンダーを編集していたので、来月までの更新に毎回15分くらいかかってしまっていました・・・・

9回も同じ作業をしなけれいけないなんて、はっきり言って無駄な時間ですよね(;^ω^)・・・まぁこれは前任者の作成の仕方にも問題があると思いますが・・・

なので私が簡単なVBAで効率化をさせていただきました!

  1. 印刷用のシートを作成
  2. そして個人名のマスターを用意
  3. 印刷用のカレンダーフォーマットを作成

カレンダーの編集が終了したらSheetに作成したボタンを押すことで、マスターにある名前を抽出して入力→印刷

を繰り返すVBAを書きました(^^)/この単純なプログラムで9つのSheetを編集していたこと手間を1つのSheetを編集してボタンをクリックするだけで済む様なりました(^^♪

この処理はコードにすると たったの10行くらいのプログラムです!!

このたった10行の短いプログラムでも仕事にかかる時間が単純に9分の1になりました(^^♪

その空いた時間で別の仕事に着手することができますよね?

こういう細かい&地味な作業が多い事務仕事ですが、VBAで改善できることは まだまだあなたの会社にも埋もれているはず、この繰り返し作業を自動化することができるのがVBAです。

VBAとマクロは違うの?

VBAとマクロって何が違うの?と時々聞かれるのですが、マクロとは【作業を自動化する総称】のことを指します。

なのでVBAとマクロはイコールの関係ではないのです(*_*

なので私はいつも【自分の操作をVBAとして記述してくれるのがマクロの記録です】というように答えています。

よくネットでもこの質問を見かけます。この質問に対してYahoo知〇袋などよくある回答が

  • マクロ→マクロの記録機能を使用したものがマクロ
  • VBA→VBEを使用して手でコードを書いたのがVBA

このように回答がされているのがたびたび見かけます。ですがこれは間違いだと私は思っています。

それはなぜか?Excelのマクロ記憶で記憶された物はExcel VBAだからです。

VBAについてはこちら

ExcelVBAとはVisual Basic for Applications(ビジュアルベーシック・フォー・アプリケーションズ、VBA)は、MicrosoftOfficeシリーズに標準搭載されているプログラム言...

VBAとマクロの違いは何か?

疑問

マクロというのは昔からあるコンピューター用語です。Wikipediaにも【マクロ】について記述があります。

簡単に説明するとマクロとは【作業を自動化する総称】

なので、ExcelVBA以外の言語でもマクロはあり得るという事になるのです。

参考:Wikipedia【マクロ】

Excelのマクロ記憶機能は自分で操作した作業を自動でVBAコードを記述してくれる機能(ここ大事)です。

以上のことから「マクロ」=「マクロの記録」という事にはなりません。

マクロとはVBA特有のものではなく、【ExcelVBAを使用して自動化する作業】を指すと私は考えます。

  • マクロは作業を自動化する総称
  • VBAは言語名

と理解しておきましょう。

【Excelのマクロ機能(作業自動化)にはVBAを使用している】と覚えておきましょう。

稀に【マクロは使えるけどVBAが使えない】という文面を目にしますが、これははっきり言って日本語が間違っています。

Yahoo知〇袋などで質問するときには気を付けましょう(笑)

VBAの導入は超簡単!!

VBAの導入はとっても簡単なんです!なんせMicrosoftOffice」さえインストールされていれば作成可能なんですから!

VBAならテキストエディタや他のの設定など全く必要がありません!

他の言語だとテキストエディタや構築環境を準備するなど、いろいろと事前準備が必要なことが多いですがVBAはその構築環境が最初からofficeソフトを内に用意されているためその必要がありません。

これは何かプログラムを覚えてみたいという人にとっては、とてもハードルが低くプログラムをやったことがない人・プログラム初心者の方にとても始めやすいプログラム言語になっています。

これからVBAを学ぶべきの対象

では、VBAを学ぶべき人はどのような人が対象なのか?

VBAを覚えたからといって何もかも作れるわけではありません、プログラム言語には向き不向きがあり、webサイト向けの言語やアプリケーション向けの言語など様々な相性というものがあります。なので、これからプログラム言語を覚えたいと思っている方に向けて、個人的にVBAを学ぶべき業種を考えてみました。

その業種とは・・・

事務員

です。

VBAは普段Excelで使っている処理を自動化することで業務の効率かを図ることがVBAの活躍の場になります。

ある程度VBAを使うことができ、業務改善を計ることが出来れば事務員としての能力を評価され、給与のUPやキャリアアップなどの出助けになることは間違いありません。

この【E-VBA】がVBAを覚えるにあたって少しでも役に立てば幸いです。

VBAがそこまで必要ない業種

では逆にどのような業種はVBAを覚える必要がないのか?

その答えは

プログラマー

です。

意外ですか?

これはあくまで個人の主観ですが、これからプログラマーを目指す方はVBAを覚える必要はないと考えています。

非常に残念ながら、VBAの需要はすでに下り坂をたどっており、今どきのプログラマーに必要なのはVBAではなく【JAVAやPHP、C言語】などのプログラム言語でVBAが使えるからといってこれからプログラマーとしての活躍は期待できません。(これは実体験です)

私はプライベートでもプログラマーの方たちとも多少の交流がありますが、本職のプログラマーの方でVBAを使う方にはあまりお会いしたことがありません、

これからプログラマーとして活躍したい方はJAVAやC言語、Pythonなどを勉強することをおすすめいたします(´・ω・`)

最後に、VBAをこれから学びたい方へ

VBAはプログラム初心者の方が初めてプログラムを覚えるのにはハードルが低い言語です、VBEというVBA専用の開発環境がOfficeの中に用意されていますし、何よりややこしい設定が不要でインターネット上での情報もかなり豊富にあります。

逆に上記で上げたPHPなどのプログラムを覚える場合は、PC上にwebサーバーの構築・それに付随するホームページを作成する言語などを覚える必要があり、初心者にはハードルが高い要因が沢山あるため始める前に挫折してしまう方が多いですが、【lVBAはPCさえあればOfficeを導入する1万円弱の出費だけで環境が整います

簡単なプログラム言語を覚えたいという方、日々の事務仕事を少しでも効率化したいという方にはこのVBAはかなりお勧めな言語です

 

そして【E-VBA】はその手助けになることを目指して
日々更新を続けていきますので宜しくお願い致します 

フォロー・チャンネル登録お願いします

■Twitterフォロー

■YouTubeチャンネル登録

ファイルやコードの利用、WEBサイトの利用について

サンプルコードなどは当サイトの免責事項をよくお読みになってからお使いください。

Sponsored Link

 

WordPressでブログを始めるなら

WordPress簡単インストール&安心の安定性

レンタルサーバー Xserver

ロゴ

6 件のコメント

    • Comment Thank you very much.
      I am poor at English, so I will reply by Google translation.
      To subscribe to this blog, you can subscribe if you enter your e-mail address in 【Subscribe to blog by e-mail】.
      Thank you for your continued support from [E-VBA].

  • Hey There. I discovered your weblog the usage of msn. That is an extremely neatly written article.
    I’ll be sure to bookmark it and come back to learn more of your
    useful info. Thank you for the post. I’ll definitely return.

  • youtu.be にコメントする コメントをキャンセル

    メールアドレスが公開されることはありません。 * が付いている欄は必須項目です