- ベストアンサー
VBAとマクロの違い
こんばんは。エクセル初心者です。 VBAとマクロの違いについて教えてください。 VBAというのは、プログラミング言語のことで よろしいのでしょうか? そのVBAで記述されたものをマクロとよぶ といったイメージでよろしいのでしょうか? たとえば、あるエクセルにはいってるマクロを 実行する、ということを作業マニュアルに記述 する場合 「○○マクロを実行する」というのが 正しいのでしょうか?それとも 「VBAを実行する」というのが正しいのでしょうか? まったく見当違いのご質問だったら申し訳ありません。 教えてください。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
「○○マクロを実行する」というほうが正しいです。 VBAは言語のことです。 マクロとは特定の操作手順をプログラムとして記述して自動化することです。 今回の場合、特定の処理なので「マクロ」という表現を使いましょう。
その他の回答 (5)
- kawajisan
- ベストアンサー率30% (53/171)
この2007年秋の時点でのEXCEL界での一般解。 操作仕様として、「マクロを記録する」操作をおこなうと「VBA」で記述された「マクロ」ができる。実行するのも「マクロ名」を指定する。 >作業マニュアルに記述する場合 「マクロ」これがMS仕様。 個人的経験からはあんなものマクロとはいわない。MSの押し付け名称。
お礼
こんばんは。 ご回答ありがとうございました。 マクロを実行する、という記述にしようと思います。 ありがとうございました。
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 >「○○マクロを実行する」というのが >正しいのでしょうか?それとも #4のimogasiさんが書かれているのが、実際の実情で、ベテランの方でも曖昧だと思います。別に、私は、人に指導できるような立場ではありませんし、人の口を捕らえて、厳密な定義をのたまったところで、その人が、理解するとは限らないです。 まあ、「○○マクロを実行する」でもよいし、VBAというなら、「VBAの○○を実行する」ぐらいでどうでしょう? どちらでもよいと思いますね。人に正しく伝わればそれでよいと思います。 一応、Microsoft では、VBAを公開する時点で、VBAにおける「マクロ(macro)」の定義をしています。しかし、それは、それほどに、定義は流通しなかったように思います。 ただし、プログラミングするしないは別として、その方面にいる立場なら、一度は、定義づけぐらいは頭には入れておかなくてはならないし、まして、この種の日本語がアテにならない世界で、英語を読まなければならないとなると、あまりいい加減なのままですと、思わぬミスをしかねません。 Microsoft では、以下のように解説しています。(Microsoft Office 97 プログラマーズガイドより) --引用開始-- #マクロは、より意味の限定された用語で、引数を持たないパブリックなSub プロシージャのことだけを指します。すべてのマクロはプロシージャですが、すべてのプロシージャがマクロであるとは限りません。マクロの記録機能を使って生成されるプロシージャとOffice アプリケーションの[マクロ]ダイアログボックスから実行できるプロシージャは、すべてマクロです。 --引用終了-- (補注:パブリックなSub プロシージャというのは、どこからでも呼び出せるVBAプロシージャのことで、ローカルで呼び出せないものは、これから外れるということです。) この考え方から、Accessでは、VBAは、ほとんどマクロとして用いることがありません。主に関数型にして、組み込ませます。VBAは、Visual Basic for Application という Visual Basic のアプリケーション用に特化させた言語ということですが、ほぼ、Visual Basic と同じです。 それと、Ver.4マクロ言語は、マクロ関数を使ったもので、VBAとは種類の違う言語です。直接、Excelアプリケーションから、値を取得する関数型の言語ですから、スピードが速いという利点はあるものの、応用性がないので、そのアプリケーション単体にのみにしか使えないということと、構造化ができないという欠点があります。ただ、VBA自体も、メモリの関係で、構造化というほど、たいしたものはできません。それに、オブジェクト指向は、まだ先です。
お礼
こんばんは。ご回答ありがとうございました。 奥が深いのですね。。。 とりあえずマニュアルには「マクロを実行する」に しようと思います。 ありがとうございました。
- imogasi
- ベストアンサー率27% (4737/17069)
VBAが言語、マクロは操作手順という使い方だけではなく、混合してますね。 (1)手順 「マクロの記録」の「マクロ」はどちらかというとこの意味か?ただ操作手順に重きを置いてこういったと考えにくい。 操作を行ってマクロで記録という意味ではないか。 http://office.microsoft.com/en-us/excel/HA010548371033.aspx >You can use a macro to record the sequence of commands you use to perform a certain task. macroがuseの目的語になっている点参照 (2)出来上がったプログラム マクロの実行 http://kiyopon.sakura.ne.jp/vba/index.htm (3)その背後にある言語体系 http://www.bekkoame.ne.jp/~poetlabo/COMP/Excel/VBALEC/start.htm マクロ言語と使っている http://www8.plala.or.jp/pezs/study/excel/vba/ex-vba02.html の「マクロを勉強する」はやや(3)か? アクセスの「マクロ」は独特でその世界がありますが、 エクセルではあいまいに使われていると思います。 ーー 現状はそうでも、厳密に使うのは良いと思う。 (3)はVBAが正しいと思う。(2)はマクロの記録でできたプログラムやそれを多少修正したものもあるので、どちらかにするのも難しい。 勉強してない人向けだとVBAとかかれると、マクロと別物と思われかねない。公判する書籍などでなければ、読む相手次第で使い分けるのが良いと思う。 もともとエクセル初期のマクロはVBA言語でなかったが、そこにVBAで記述することに中身が変わった。そういう歴史的な沿革があるので、米国でも「macro recording」というようになったと思う。 ーー なお マクロはエクセルなどオフィス AUTOCAD 一太郎 エディタ オフィス互換ソフト ロータス123 ソフト作成会社があるソフトをつくり、それ用にスクリプト形式で作ったもの アセンブラのマクロ命令、やマクロアセンブラ などで使われるようである。 アセンブラのマクロ命令の「マクロ」が、コンピュタ界でマクロが使われた最初ではないかな(機械語に直すと複数命令の寄せ集めに分解される命令)。
お礼
こんばんは。ご回答ありがとうございました。 勉強不足だったため、私もVBAとマクロで混乱してしまいました。 あくまで、社内的に使うものなのと、誰にでもわかるマニュアル という意味で「マクロを実行する」にしようと思います。 URLもありがとうございました。
- zap35
- ベストアンサー率44% (1383/3079)
以前も同じ質問があり、その質問を探したのですがうまく見つけられませんでした。 まず「マクロ」は「マクロセット命令」の短縮形だと思われます。複数の命令(≒処理)が集まったものという意味です。ですから「○○マクロを実行する」はExcelではSub~End Subでくくられた「ひとかたまりの処理」を実行するというふうに解釈してよいと思います。 次に少し歴史をひもとくと、EXCEL4まではマクロは「マクロ言語」で書かれていました。(構文はVBライクでしたが、オブジェクト指向の考え方が中途半端でした)。VBAになったのはEXCEL5以降(EXCEL97→2000→2003→2007)です。 ですからEXCEL4の時代まではマクロは「処理のかたまり」でもあり、「言語の名前」でもあったわけです。EXCEL5以降ではマクロは「処理のかたまり」、VBAが「言語名」になりました。 >作業マニュアルに記述する場合 マニュアルにはどんな処理を、どのようなタイミング、順番で実行するかを書かなければなりませんね。「○○マクロを実行する」が操作者には理解されやすいのではないでしょうか。
お礼
こんばんは。お礼が遅くなり申し訳ありませんでした。 マクロを実行する、にします。 細かいご説明ありがとうございました。
- rukuku
- ベストアンサー率42% (401/933)
はじめまして 「マクロ」はコンピュータ(アプリケーション)に作業を指示するための「操作手順書」です。 「VBA」はエクセルのマクロを作るための「言葉(言語)」です。 エクセルの“操作手順”が“日本語”で書かれている と照らし合わせると、 操作手順…マクロ 日本語…VBA となります。 ですから、 >「○○マクロを実行する」というのが >正しいのでしょうか?それとも >「VBAを実行する」というのが正しいのでしょうか? 「○○マクロを実行する」が正しい表現です。
お礼
こんばんは。お礼が遅くなり申し訳ありませんでした。 的確なアドバイスありがとうございます。 マクロを実行する、にします。 ありがとうございました
お礼
こんばんは。お礼が遅くなり申し訳ありませんでした。 的確なアドバイスありがとうございます。 マクロと表現することにします。 ありがとうございました。