• ベストアンサー

VBAとマクロの違い

VBA初心者です。 会社の人からVBAとマクロの違いについて質問され、ちゃんと説明できませんでした。 なにがちがうんでしょうか? 私は「VBAのプログラミング=マクロを組む」と思ってました。 よろしくお願いします。

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 Excel(2000)については、No.1の方の説明通り、 「マクロ = VBAというプログラミング言語で記述された一塊の動作」 です。 したがって、miyacさんの、 「VBAのプログラミング=マクロを組む」 で、おおよそあっています。 また、自分で書いたコードをマクロとして登録することも出来ます。 しかし、Access(2000)での"マクロ"は少しニュアンスが異なります。 Accessの場合は、マクロはいくつかの動作・操作は順に登録しておき、それを自動実行させる、という使い方です。自分で書いたコードをマクロとして登録するというやり方ではありません。(本当はそういうやり方も出来ますが。) したがって、VBAとマクロは何となく別物のような印象を受けます。 それにAccessでは、「マクロを組む」という表現は通常使いません。 ただし、マクロをVBAに変換することが出来ますし、マクロに登録する各動作・操作も、VBAで自分で書くことが出来ます。 ですから、結局同じことなんですけどね。 まとめると、「マクロは自動実行処理を登録すること」で、「VBAはそのアプリケーションのあらゆる操作を記述すること」ですかね。 では。

miyac
質問者

お礼

ご回答ありがとうございます。 なるほど、マクロとVBAでは作業的な意味合いが違ってくるのですね! 丁寧なご説明ありがとうございました。 これで、ちゃんと説明できそうです。(みなさんの受け売りですが ^_^;)

その他の回答 (1)

  • Traja
  • ベストアンサー率19% (107/546)
回答No.1

VBA:Visual Basic for application(言語の種類) マクロ:VBAで記述された一塊の関数 ですね。 ずっと以前のEXCLなどでは、キーボードマクロといった機能があり ~キーを押す。 範囲を選択する。 といった、直接操作と対応する手順を登録することが可能でした。 が、現状のExcelでは、[ツール]-[マクロ]で操作を記録させると Visual Basicのコードとして記録されますから、ほぼ同義という事に なるのでしょうか? ただし、VBAではそれだけにとどまらずに、「Excelで出来ることは VBAで全て記述できる?」なんて言葉があるくらい 奥深いものになっていますが。 (オブジェクト、メンバ、メソッド、等の知識が追いつけばの話ですけど) ですから私は、やりたい事をまずマクロの記録で記録させて、その結果を Visual Basic Editerで、加工してマクロとして使ってます。

miyac
質問者

お礼

ご回答ありがとうございます。 キーボードマクロというのは知りませんでした。 やはり、ほぼ同義ということは間違っては無かったのだけど、微妙に違うのですね。勉強になりました。

関連するQ&A