• ベストアンサー

マクロとVBAの違いは?

最近officeのVBAを勉強してるのですが「マクロ」と「VBA」って何が違うのでしょうか? アクセスはマクロとVBA(VBE)が別れてるけど、 エクセルは「マクロの記録」でVBAコードが取得できますよね。 マクロとVBAは同じ意味なのか、違う意味なのか教えていただけますか?

質問者が選んだベストアンサー

  • ベストアンサー
回答No.3

こんにちは。 #2さんの引用先と同じ内容ですが、日本語として出ていたはずです。 マクロとVBAを、一応、定義として把握していないと、きちんと人には教えられないと思いますね。アクセスには、一般的に、VBA側で作られたものは、マクロとは呼べません。 理由は、「マクロ」というのは、その取り扱い言語は別として、ひとつの作業(タスク)の自動実行を目的とする機能のことです。逆にいうと、ひとつの作業を実行できないものは、マクロとは呼びません。例えば、引数を必要とするユーザー定義関数は、マクロの範疇から外れます。 マイクロソフトでは、こう定義しています。 以下は、内容的に、あくまでも、VBAの範疇に対して書かれています。 マクロは、より意味の限定された用語で、引数を持たないパブリックなSub プロシージャのことだけを指します。すべてのマクロはプロシージャですが、すべてのプロシージャがマクロであるとは限りません。マクロの記録機能を使って生成されるプロシージャとOffice アプリケーションの[マクロ]ダイアログボックスから実行できるプロシージャは、すべてマクロです。 それに反して、VBAというのは、アプリケーション用のVisual Basic プログラミング言語です。 「VBA」で書かれたものを総称して、プロシージャと呼び、マクロとは厳密には意味が異なります。また、Ver.4 の「マクロ関数」で書かれたものも、プロシージャで自動実行で作業をするものも、総称してマクロと呼びます。また、ひとつのブックにあるモジュール(=プロシージャを呼び出すためのオブジェクト)群をプロジェクトと呼び、「モジュール」を組み合わせ一貫した仕事をするようにしたものを「システム」と呼んだりします。 これで、違いが分かっていただけたかと思います。

jkiju9
質問者

お礼

ありがとうございました。

その他の回答 (2)

回答No.2

改めていうまでもなく、VBAはマクロを実現するための手段、、、 EXCELにおけるマクロをMSはこのように定義している。 http://office.microsoft.com/en-us/excel-help/about-macros-in-excel-HP005201201.aspx 私が、プログラム開発で最初に接したマクロ、という専門用、それはアセンブラのインラインコード(条件によって異なったソースを生成する機能)、Cで言えばINCLIDE、それは、今のマクロ-VBAに、似てなくはない、言葉は時代とともに少しずつ変遷、変質するものである、、、 コンピューター用語辞典 http://ejje.weblio.jp/content/%E3%83%9E%E3%82%AF%E3%83%AD マクロ:macro 一連の命令のかたまりを,一つの命令で置き換えたもののこと.マクロ命令の短縮形.呼ぶ側のプログラム言語のレベルでマクロ定義を起動する命令

jkiju9
質問者

お礼

ありがとうございました。

  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.1

 VBA の大家 田中亨先生がまとめてくださっています。 ●Office TANAKA - 今さら聞けないVBA「マクロとVBAの違い」 http://officetanaka.net/excel/vba/beginner/01.htm >インターネットの個人サイトだけでなく、 >書籍や雑誌、パソコンスクールや有料のセミナー、 >ひどいときはMicrosoftの公式ページでさえ、 >マクロとVBAという用語が混在して使われています。 >正確にいうと、マクロとVBAはまったく別です。

jkiju9
質問者

お礼

ありがとうございました。