AccessやExcelでマクロとVBAの違いを探してみると、マクロの命令文はVBAで書かれている。といろいろなところであるのですが。

これはマクロでは簡単なことが出来て、それ以上はVBAで作りなさい。と言う意味で
例えば、タグとHPソフトの関係のようなものと捉えて大丈夫でしょうか?

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/07/31 22:32:21
  • 終了:--

回答(8件)

id:k318 No.1

k318回答回数2622ベストアンサー獲得回数22004/07/31 22:35:20

ポイント3pt

マクロ‥‥ExcelやWordなどのソフトに対して『一連の処理』を自動実行させる機能の事

または、自動実行する『一連の処理』を記述したコード(ステートメント)の集まり/総称

VBA‥‥マクロ処理を記述する為の言語ツールのひとつ

とのことです。

id:Zommerz

同じところみてますねw

それはわかっているのですが、私の解釈があっているのかどうかが、知りたいです

2004/07/31 22:36:52
id:cx20 No.2

cx20回答回数607ベストアンサー獲得回数1082004/07/31 22:37:52

ポイント17pt

・マクロ … 簡単な命令を実行するのに使用

・VBA … プログラミングを行うの

に使用

という違いがあります。

「タグ」と「HPソフト」というよりは、「タグ」と「JavaScript」という関係のほうが近いような気がします。

id:Zommerz

ありがとうございます

タグとjavaScriptかぁ

javaScriptには詳しくないのですが、javaScriptの記述ってタグの中に書くんですよねぇ?

一段深いところとと言う意味ですかね

2004/07/31 22:42:57
id:taknt No.3

きゃづみぃ回答回数13539ベストアンサー獲得回数11982004/07/31 22:40:06

ポイント10pt

初期のAccessやExcelのマクロは、VBAではありませんでした。それが やがてVBAがすべて使えるようになっただけです。

Excelの場合は、シートを挿入するときに マクロ用のシートが挿入できます。

VBAがすべて使えるようになったため、個別にマクロを覚える必要がなくなりました。

id:Zommerz

ありがとうございます。

初期のAccessは〜・・・そうみたいですね。

lotusのマクロとかは違うみたいですね。

この説明だとマクロは出来れば使いたくない

と言うような印象を受けるのですが、そういうものなのでしょうか?

2004/07/31 22:47:42
id:aki73ix No.4

aki73ix回答回数5224ベストアンサー獲得回数272004/07/31 22:41:32

ポイント20pt

いえ、殆んどVBAとマクロは同じ意味です

マクロはOffice以外のアプリケーションでもつかえますが、VBAではかかれていません

つまり、OfficeでMacroといったらVBAでしかかかれてないのですが

他のアプリケーションでMacroというとVBAとは限らないわけです

HTMLにおけるScriptとSSHやJavascriptやVBScriptの関係に近いと思います

id:Zommerz

大変わかりやすい説明ありがとうございます。

Officeにおいては同じものと考えていいのですね。

2004/07/31 22:49:01
id:takarope No.5

takarope回答回数139ベストアンサー獲得回数02004/07/31 22:44:31

ポイント17pt

URLはダミーです。

「マクロは処理の自動化のための手段」

「VBAはマクロをつくるための一つの手段」

ということになると思うのですが、どうでしょう。「マクロでは簡単なことが出来て、それ以上はVBAで作りなさい」という意味だとすると、マクロもVBAもそれぞれ、自動化のための手段っていうことになってしまうので、ちょっと、違うと思います。

id:Zommerz

ありがとうございます

同じものを目的としているのなら、何が違うのでしょうか?

実際やってみるとマクロで作るほうが断然簡単だったのでそう捉えていたのですが

2004/07/31 22:50:56
id:ozonepapa No.6

ozonepapa回答回数288ベストアンサー獲得回数02004/07/31 22:48:12

ポイント17pt

http://www.hatena.ne.jp/1089802710

エクセルVBAとビジュアルベーシックと違いがよく分からないのですが、どなたか教えて頂けますでしょうか? - 人力検索はてな

同じような質問がありました。

似ているようでニュアンスが違うようですね。

マクロとは、連続するいくつかの操作を1つにまとめたものですね。

たとえば、Excelで

 「ツール」->「マクロ」->「新しいマクロの記録」

とすると、

その後、マクロ記録を終了するまで。Excel上で行う操作がすべてVBAのプログラムとして記録されます。

また、マクロは、プログラムを作るのと同じようにVBAで直接書くこともできます。

マクロ:VBAで記述されたプログラム

VBA:マクロを記述するための言語

でいいのではないでしょうか。

id:Zommerz

ありがとうございます。

やっぱり行き着くところはここですねぇ

2004/07/31 22:51:59
id:youkan_ni_ocha No.7

youkan_ni_ocha回答回数379ベストアンサー獲得回数02004/07/31 22:49:11

ポイント10pt

ここにもかいてあるんですが、直感的にわかりやすく言うと、マクロとは、今までやった動作、例えば、データをコピーしたとか、キーボードから行える全ての動作を「記録」して「再現」できる機能です。言語を覚える必要はありません。これに対して。

VBAっていうのは、完全にプログラム言語、CとかC++と同じような、、、VBとVBAの違いは、使える命令の数の違いで、基本的には同じと見ていいです

id:Zommerz

ありがとうございます

大体出揃ったと思うのでこの辺で打ち切りたいと思います。

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

2004/07/31 22:55:06
id:SSB No.8

SSB回答回数102ベストアンサー獲得回数02004/07/31 22:53:45

ポイント17pt

ダミーURLです。

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

1.メッセージBOXを表示できる。

2.繰り返し操作ができる。

3.条件による分岐。

4.その他 細々と色々でき 半分VB気分になります。

id:Zommerz

おっと、もう一個見てしまった

ありがとうございます

おお、VBAの特徴ですね

2004/07/31 22:57:13
  • id:sugiyasato
    マクロとVBは違うけど。

    リンク先がよくまとまっていると思います。
    この2つを比較してみてもよいでしょう。
    http://e-words.jp/w/E3839EE382AFE383AD.html
    http://e-words.jp/w/VBA.html

    以下余談。
    マクロは機能であり,VBは言語です。
    概念がまったく違いますが,オフィスを使っている限り,
    「マクロ」の上位がVBのように思えるのは否定しません。
    (広い意味ではマクロについての考え方は諸説あったと思います)
    「タグとHPソフトの関係のようなもの」という例えでいいかというと,
    スキルのレベルが違うという漠然とした理解ならありかもしれませんね。
    http://www.accessclub.jp/vba/vba_001.htm
  • id:cx20
    Access のマクロと Excel のマクロの違いについて

    同じ Office 製品でも、Access と Excel では、
    「マクロ」の意味の意味合いが多少違います。

    Access では「マクロ」と「VBA」は別物で「マクロ」と「モジュール(VBA)」
    は別々の機能として用意されています。
    Access の「マクロ」は用意された「アクション」を選択して組み立てていくことに
    よって作成できます。
    もちろん「アクション」の中から「モジュール(VBA)」を呼び出すことも可能です。

    Excel では「マクロ」を記述する言語として「VBA(Visual Basic for Applications)」
    を用いるという意味で合っていると思います。

    まとめると、

    <Access の場合>
    ・マクロ = アクションの集合
    ・モジュール = VBA で記述したプログラム

    <Excel の場合>
    ・マクロ = VBA で記述したプログラム

    と言えるのでは無いでしょうか?

    > タグとHPソフトの関係のようなものと捉えて大丈夫でしょうか?

    マクロと VBA(プログラミング)の関係は、
    ・マクロ = ホームページ作成ソフトで GUI で作成
    ・VBA = HTML のソースを直接記述(CUI?)
    という違いという考え方でもよいかも知れませんね。

    <参考情報>
    ■ Microsoft Access Club / マクロとVBAの違い
    http://www.accessclub.jp/vba/vba_001.htm
  • id:garyo
    歴史的に考えると

    歴史的に考えると
    開発用言語→アプリケーションを作成する言語:Visual C++,Visual Basic等
    マクロ言語→アプリケーション上で動く簡易言語
    という違いがあります。

    マクロ言語の場合、昔は各アプリケーション毎に文法が異なっていました。

    ExcelもVer4.0までは以下のような独自文法のマクロを使っていました。
    ※↓これはステップ実行したものを書き写したものです
    -------EXCEL 旧マクロ-------------
    =FNC_DeleteValue()
    =RETURN()
    =ACTIVATE(C_MacroFileName)
    =IF(GET.WINDOW(7,C_MacroFileName)=FALSE)
    =ACTIVATE(C_MacroFileName)
    =SELECT(”R1C1”)
    =IF(V_SaveEnd)
    =ELSE()
    =CLOSE(FALSE)

    ちなみに同じ表計算であるロータスのマクロはこんな感じです。
    -------Lotus マクロ-------------
    statics{subr0}{windowson}
    staticsrp{get-range ”データの範囲を先頭行の見出しも含めて指定して下さい。              ”,d_1,,”データ範囲”}
    {if d_1=”b”}{dastop}
    {subr10}
    {if @isstring(@index(data,0,0))=0}{alert ”データ範囲の見出しがありません。もう一度選択して下さい       ”,1,”caution”}{branch staticsrp}
    {get-range ”記述統計量の出力先を指定して下さい            ”,o_1,,”出力範囲”}
    ----------------------------------

    確かExcelのVer5くらいだったと思いますが、アプリケーション開発用言語であるVisual Basicの文法を使ってマクロが書けるようになりました。
    これがVBA(Visual Basic for Application)です。
    その後ACCESS,WORD他のマイクロソフト製品のマクロにVBAが使われるようになりました。
    VBAは簡易言語とは言えないくらい高機能言語ですので、本来の簡易言語としてのマクロと比較して色々混乱が生じるのだと思います。


    P.S
    最初のマクロ言語は機械語のマクロでしょう。
    一連の機械語をまとめて1つの命令を新規に作ることができました。
    多数の命令を集めて作ることからマクロ(macro 大きい)と呼ばれたのでは?

  • id:Zommerz
    どうもありがとうございます

    コメントどうもありがとうございます。
    チョロット本を読みながら使っている私にとってイザちゃんと説明しようとすると本当に大変で、なんとなく使ってたんだなぁと実感しました。マクロは使うけどVBAはなんか難しそうだし、マクロで出来るんだからいいや、とほとんどいじらなかったので機能も上位のものなんだなぁと言う程度にしか感じていませんでした。本を読んでもその辺のことは書いてないし・・・(理解しながら使ってる人はちゃんと作りもわかるのでしょうが)何事も基礎なんだなぁと実感いたしました。
    ありがとうございました

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません