1つだけ過去を変えられるとしたら?

VBAは半年近く勉強しています。
VBと言う存在をはじめて知ったのですが、
難しさや活用度からして
VB>VBAですか?
実際一般的にはどちらから学んでいくものなのでしょうか?
よろしくお願いします。

A 回答 (5件)

VBとC++を2年ほど勉強している半初心者です。



VBAというのはOfficeのマクロ開発のためだけに使用するものであり、Excel上からExcelに関することしか実行する事ができません。
一方VBはWindowsのプログラムを開発するためのプログラミング言語で、VBAとは違ってexe形式のファイルを自分で作る事ができます。なのでファイル操作等、ExcelのVBAとはだいぶ違います。

活用度はVB>VBAですね。難易度は同程度か、VBの方が難しいといったところでしょうか。

ちなみにVBは初心者向けであり、ほとんどの企業の市販ソフトウェアはC++という言語で作られています。しかしいきなりC++でプログラミングを始めると酷なので、プログラミングの腕を上げるつもりであれば、VBから始めましょう。
    • good
    • 0
この回答へのお礼

大変参考になりました。ご回答ありがとうございます。

お礼日時:2008/01/17 06:41

質問が的外れ。


>VBと言う存在をはじめて知ったのですが
VBAの初級解説本にも、必ずサラッとではあるが、VBとの関係を解説してあると思います。(例えば)エクセルVBAの解説本を読んでないのでは。
VBも少しでも体験しないと両者の違いは実感できないかもしれないが。どうせこんな質問コーナーで文章で回答を見ても役立たない。
概括的結論的知識を他人から得て、それで知った気になろうとしている質問が時々あるが、もっとVBとVBAの少数でも具体例を当たれといいたい。
>難しさや活用度からしてVB>VBAですか?
使用目的や実際の使用状況が違うものだから、議論する意味なし。
必要度のある人は難しくてもやらざるを得ないのだ。
>実際一般的にはどちらから学んでいくものなのでしょうか
これも議論の意味なし。
例えばエクセルを使う必要のある人はエクセルVBAを勉強するだろうし、エクセルなどと関係ないソフトを開発(作成)する必要がある人はVBを勉強するでしょう。
質問者はいま中間停滞期にあるように思う。600ページぐらいの解説本を読んでみるとか、スクールに通うとか、自己変革のためには外部的刺激(他の判った人の指導を受けること)が必要なような気がします。
    • good
    • 0
この回答へのお礼

なるほど。ご回答ありがとうございます。

お礼日時:2008/01/17 06:42

VB=Visual Basic


http://www.microsoft.com/japan/msdn/vbasic/
VBA=Visual Basic for Application(Microsoft Office内でのVB)
http://www.microsoft.com/japan/msdn/vba/prodinfo …
>難しさや活用度からしてVB>VBAですか?
VBAはVBの一部を特化したもので、基本的な難易度は同じだと思います。
>実際一般的にはどちらから学んでいくものなのでしょうか?
Officeを利用したPROGRAMで足りるならVBA
Officeを利用しないことも考慮したPROGRAM開発ならVB,C/C++,JAVA等
    • good
    • 0
この回答へのお礼

大変参考になりました。ご回答ありがとうございます。

お礼日時:2008/03/12 10:31

こんにちは。



一体、VBAのプロフェッショナルと、VBのプロフェッショナルとどちらが多いとお思いですか?

VBのプロフェッショナルのほうが多いはずですね。ここの掲示板でも、「専門家」と言いながら、専門家らしからぬコードを何度も見せられます。VBAの「専門家」でないのは一目みて分かります。VBAでは食べられないからです。しかし、では、なぜ、VBAのプロがいるのでしょうか?

つまり、VBAというのは、富士山の裾野のようで、広く浅くですから、入門はしやすいわけです。はっきり言って、今から、VBAの頂上を目指そうにも、たぶん、VBAからのアプローチでは、おそらく不可能だと思います。他の言語に精通して、再び、Excel VBAなどの戻ってくるような変わった人が、その頂点に立っているのだと思います。

私たちの知っているVBAプログラミングというのは、単に入り口だけで、その入り口のところをうろうろしているだけです。本来、VBAというものは、ビジネスマンが、仕事の合間にちょこちょこと書いて動かせるために付けられた、マクロ言語で、VB6準拠の言語を付けるのは、Microsoft 社内でも賛否両論だったそうです。だから、本来の目的としては、単にマクロの動きを止めるだけのマクロ・セキュリティが付随しているのだと思います。そういう素人マクロ反対論者のためにあるというようなことも想像できます。

VBAに精通しようとしたら、Excel, Access, Word, Outlook をきちん使いこなせなくてはなりません。それが、なかなか大変なことです。中級までは知っていても、上級になると、Excelは、本当に分からないことが多いです。Wordも分かりませんね。日本では、翻訳されているのでしょうか、ないのだと思います。需要としては低いのはExcelで代用できるので、日本人は、Excel好きだというのも、納得できます。そして、それぞれのVBAを勉強しなければなりません。ところが、Access 以外の資料は、現在は全部英語です。

次に、アドインを作る知識が必要になってきます。そのために、COM の勉強が必要になります。VB(VB6)で可能ですが、その上に、C++の知識が必要になったり、データベースの知識が必要です。Excelをサポートする会社は、Javaの専門の会社だったりします。Developer バージョン(現行は、VSTO)を使いこなすということは、当然のことですから、VBの知識は必要になります。

もう一つは、VBA は、幅広い業務知識が必要になるということです。単にコードを使いこなせればそれでよいのではなく、業務や経理知識なども求められます。それは、VBでも同じことですが。

さらに悪いことに、VB6 は、現行の言語ではないので、遠からず、VBAは、他の言語(VB.Net) に替わると考えてもよいのではないでしょうか?

ただし、VBAとしては、当分の間なくならないというか、Ver.4 マクロ関数のような扱いにはなるのだと思います。しかし、主流としては替わると思います。そういう不安を抱えながらしなくてはなりません。そうでなくても、アプリケーション側のバージョンの違いやら、環境の違いに左右されやいすので、プロレベルになると、97からすべて用意しなくてはならないという問題もあります。

私は、本来なら、プログラミングとして学ぶなら、VBを先の勉強したほうが、VBAは分かりやすいと思っています。ただし、過去の言語を追いかけるほど無駄なことはありません。今は、VBは、VB でも、VB2008 とかでしょうから、VB.Net 系は、旧VBとは別ものです。

VBAの入門レベルでは、必ず、Cells, Sheet, Range, Worksheet など、オブジェクトとして似たような共存するものを持ち出してきますから、本当にプログラミング言語としての役割としては、分かりにくい存在だと思っています。すでに、VB6 は現行ではなく、VB.Netとなると、その仕様は、オブジェクト指向が導入されていますから、似ていて違うものです。だから、すでに、選択肢としてはなくなっていると思ってもよいと思います。
    • good
    • 0
この回答へのお礼

難しいですね。ご回答ありがとうございます。

お礼日時:2008/03/12 10:43

>実際一般的にはどちらから学んでいくものなのでしょうか?


必要なほうからで、良いでしょうし、必要な方だけでよいでしょう。

一般的に、ITの専門学校では、VBやC++などが多く、IT関連のソフト開発会社では、VBの知識が必要でしょう。
一般の会社の事務などにおいては、すでにOFFICE製品がインストール
されているので、VBAで十分ですし、かえってVBなどを使用したファイルを作成して業務に導入しても、後のフォローができなくなります。
VBで作成するファイルなどは、専門の部署、分野の組織に任せたほうがよいでしょう。
質問者の方が、どのような立場、職場にあり、将来をどのように考えているかに、よると思います。
    • good
    • 0
この回答へのお礼

大変参考になりました。ご回答ありがとうございます。

お礼日時:2008/03/12 10:46

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!