• ベストアンサー

VBとVBAの違い

お世話になります。 現在、ExcelVBAで機械設計の計算をさせようと思い勉強しているのですが、VBとVBAの違い(VBと比較したとき、VBAできること、できない事)の境目?がいまいち判りません。 まだまだ勉強中で困惑しております。このままExcelVBAを勉強していく物か、VBについて勉強していくか迷っています。このままExcelVBAを勉強してExcelVBAを理解すれば判断できるかと思うのですが、畑違いの勉強になってしまわないかと心配です。 やりたいことは、各種計算の簡略化です。 現在は、関数電卓で行っていますが、これをパラメータを入力すると計算結果が出る。このような物を作りたいと思っています。 長くなってしまったのでまとめると、 1、VBAとVBの違い 2、ExcelVBAで設計計算が可能か あと、 プログラムにより計算させるときに、最適なプログラム(JavaとかPHPとかHTML等など・・・)お勧めのプログラムがありましたらアドバイス頂けたらと思います。

noname#44124
noname#44124

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

  • ベストアンサー
  • shinob
  • ベストアンサー率42% (3/7)
回答No.6

1. VBAとVBの違い VBは単体で動作するアプリケーションが作れますが、VBAはOfficeが必要です。 また、VBAはOfficeの環境が使えるので、Excel等を使った入出力の機能が既にできていますが、VBではある程度自分で作る必要があります。また、費用的な面でVBは購入しないと使えませんが、VBAはOfficeがあれば使えますので、既にExcelなどを導入されているならば、追加の費用が必要ありません。 もし、複数の人間で作ったプログラムを利用され、かつその中にOfficeを持っていない人が含まれるのであればVBAではできませんので、VBが必要です。 2. ExcelVBAで設計計算が可能か 可能です。また、多分VBAを使わなくてもExcelの関数でもある程度のことが可能だと思われます。お持ちの関数電卓の桁数にもよりますが、相当な高精度が必要でない限り大丈夫です。 文面からすると、プログラミング未経験のようですが、やりたいことが明確なので、Excelをお持ちであればVBAで始めてみてはいかがでしょうか。他の言語(Java, C, PHP...)でも可能でしょうが、中には環境を用意しなくてはならなかったり、本質である計算以外に気にしなくてはならないことが多く、初心者にはとっつきづらいのではないかと考えます。 VBAからVBへの移行、VBからVBAへの移行はどちらも可能ですし、VBAからVBへの移行は多少時間がかかるかもしれませんが、VBよりVBAから始める方が楽なので、どちらに優越があるとは一概に言えないと思います。一人でちょっと使う程度や勉強用なら、ExcelVBAをお勧めします。 しばらくすると、ExcelVBAの限界を感じるようになると思うので、そこからVBに移行するというのでも悪くないと思います。

noname#44124
質問者

お礼

皆様からのアドバイスを元にVBAの勉強進めています。 投稿したときよりVBAが理解できてきました。 まだまだ判らないことがあります。 投稿したときには皆様宜しくお願い致します。 (今度は早急に返信いたします)

その他の回答 (6)

  • parapa
  • ベストアンサー率15% (42/273)
回答No.7

1 確かVBAの方はタイマーイベントが使えなかった気がします。 2 可能です。 ただし方の人が述べられていますが 計算精度には気をつけてください。 浮動小数点演算には使う変数型には細心注意を

noname#44124
質問者

お礼

返答大変遅れ申し訳ありません 皆様からのアドバイスを元にVBAの勉強進めています。 投稿したときよりVBAが理解できてきました。 まだまだ判らないことがあります。 投稿したときには皆様宜しくお願い致します。 (今度は早急に返信いたします)

noname#79209
noname#79209
回答No.5

老婆心ながら... 現在関数電卓で行っている計算をPCでのプログラムに載せ替えるときは、計算精度に気をつけてくださいね。

noname#44124
質問者

お礼

皆様からのアドバイスを元にVBAの勉強進めています。 投稿したときよりVBAが理解できてきました。 まだまだ判らないことがあります。 投稿したときには皆様宜しくお願い致します。 (今度は早急に返信いたします)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

VBAはVBの後に、Aがついていますが、これはApplicationすなわち、エクセルの場合はエクセルを意味します。そこが肝心です。エクセルの手操作によってできる機能を、コードに置き換えられるようにできています。 たとえば「シートを削除する」ということをしたい場合、エクセルVBAであれば、Activeshhet.Deleteで実現します。VBではふつうにはできません。 すなわち、エクセル独自の仕掛けである、シート、セルなど(エクセルのオブジェクト)に特化したプロパティやメソッドがある(集められている)ということです。 計算だけであればVBとVBAは近い。ややエクセルワークシート関数が使える利があるかもしれないが、自作してもたいしたことはない。 結果をセルにすぐ表示できる、印刷できるのが手軽なのはエクセルの便利なところ。 しかし精緻な仕組みにするにはフォームや特別のレポートソフトの方がよいかも知れない。 >ExcelVBAで設計計算が可能か 具体的なことが判らないが、15桁の制約があります。 ユーザー定義関数も可能です。 どちらがふさわしいかは、その人がVBとVBAの両方をやってみないと判らない かも知れない。便利と思うのも、何に重点をおいて、評価するかが、大きく影響します。 最後にVBからエクセルVBAの世界に入ることも、簡単にできるので、議論する 意味が余りない。データならVBAでCSVなどで受け渡ししても、数秒の待ちで、VBとエクセルVBA相互間の処理が続くと思う。 作品を市販しようとなると、EXE(実行形式)が作成できるかが影響します。 マクロと関連付ける説は反対。エクセルではマクロという言葉は抹消すべし。スクリプト言語であるというのも反対。「高級言語」はみなスクリプト的になると思うので、それで特徴を表すことにならないとおもう。

noname#44124
質問者

お礼

皆様からのアドバイスを元にVBAの勉強進めています。 投稿したときよりVBAが理解できてきました。 まだまだ判らないことがあります。 投稿したときには皆様宜しくお願い致します。 (今度は早急に返信いたします)

  • ept63
  • ベストアンサー率21% (54/247)
回答No.3

VBAとVBの違いはEXE(実行形式)が作成できるかどうかでしょうか。VBAはそれぞれのアプリケーションに特化したコマンドが利用できますがVBでは別途コンポーネントを追加しなければ動作できません。(VBでexcelを作成する場合など) ExcelVBAと言ってもVBとの違いはほとんどありませんので同じようなことが出来ますよ。 計算の量にもよりますがパスカルが計算には有利なロジックをもっていると聞きます。 操作性、作成速度を考えればVBAで十分と思います。

noname#44124
質問者

お礼

皆様からのアドバイスを元にVBAの勉強進めています。 投稿したときよりVBAが理解できてきました。 まだまだ判らないことがあります。 投稿したときには皆様宜しくお願い致します。 (今度は早急に返信いたします)

  • O_cyan
  • ベストアンサー率59% (745/1260)
回答No.2

>VBAとVBの違い VBはプログラミング言語。 VBAはMicrosoft社の製品に独自の機能拡張を施すためのマクロ言語として開発されたプログラミング言語でVBをベースにマクロ言語用に改造されたもの。 >ExcelVBAで設計計算が可能か Excelで作られた機械設計計算ソフトがあるくらいですから可能。 >プログラムにより計算させるときに最適なプログラム 全てのプログラムに於いて演算処理は同等です。関数や記述法が変わるくらい。膨大なデータを解析するのもマシン速度に依存するだけで演算は同じ。

noname#44124
質問者

お礼

皆様からのアドバイスを元にVBAの勉強進めています。 投稿したときよりVBAが理解できてきました。 まだまだ判らないことがあります。 投稿したときには皆様宜しくお願い致します。 (今度は早急に返信いたします)

  • nikuq_goo
  • ベストアンサー率46% (335/715)
回答No.1

電卓で可能な関数計算程度でしたらVBA(マクロ)もVBも必要ないのではないかと思います。 EXCEL関数だけで計算できないものがあるのでしたらマクロ化する(VBA化する)。それでも困難ならVBでプログラミングするのが一般的です。 計算式が多く管理が困難なときにもVBAは使われますが一般のプログラマーではない方は関数だけで色々しているでしょう ちなみに私はVBはプログラミング言語、VBAはセル参照機能を含んだVBベースのスクリプト言語という認識をしています。

noname#44124
質問者

お礼

皆様からのアドバイスを元にVBAの勉強進めています。 投稿したときよりVBAが理解できてきました。 まだまだ判らないことがあります。 投稿したときには皆様宜しくお願い致します。 (今度は早急に返信いたします)

関連するQ&A

  • VBAではなく、VBを書いてみたいのですが…

     ExcelVBAを少し勉強したことがある者です。  VBAではなく、VBでEXEファイルを作ったりしてみたいと思っているのですが…。「VBの起動は[プログラム]-[Microsoft Visual Basic6.0]をクリックする」と本に書いてあるのですが、私のPCには[プログラム]の中にそのような項目が見当たらないのです。  ひょっとすると、VBは何かソフトを買ってきてインストールしないと起動できないのでしょうか。そうであれば、何という名前のソフトで、いくらくらいするものでしょうか。  なにぶん、初心者ですので、初歩的な質問お許し下さい。  ちなみにOSは、WinXPのHomeEditionとWin2000を2台使ってます。  よろしくお願いします。

  • VBとVBAの違いについて

    こんにちは。 VBとVBAはどんな違いがあるのか教えてください。 これから転職をするためにVBは持っていないため、VBAの勉強を始めようと思っています。 かつてdbMAGICというツールを使って開発経験があります。 独学をしようと思っていますので、参考になる書籍やサイトをご存知でしたらご教示頂けたらと思います。

  • VBAのEvaluate()をVBで記述するには

    ExcelVBAで書かれているプログラムをVB(VisualBasic)に書き直していますが、 VBAのコードの中で、別ファイルから任意の数式(例えば「=3600/60+5000」など)を読み込んで、Evaluate()という関数でこの演算結果を取得している部分があるのですが、VBAのEvaluate()の部分をVBで記述することは可能でしょうか。 よろしくお願いします。

  • VBA経験者がVB2005を使えますか?

    今までExcel2000のVBAを使って簡単なプログラムを作っていました。今度本格的にVBでプログラムを組みたいのですが、Excel2000のVBAとVB2005はまったく違うものなのでしょうか?(言語の書式など) やりたいことはネット上からデータ(数値や文字列など)を収集して計算することです。株情報などのデータを収集して最適な結果を導き出すもので、今まではExcelで手動で入力していたものを自動化したいと思っています。 また、この場合はVisualStudioではなくてVisualBasicだけを購入すればいいのでしょうか? よろしくお願いします。

  • VBAからのVB.NETかC#

    本日エクセルVBAエキスパートのスタンダードを取得いたしました。 仕事で半年ほどVBAをチョコチョコ使う機会があったので、 最初のうちはWEBで調べてコードを切り張りして 簡単なツールを作っておりました。 それで9月のはじめに折角だし資格を取ろうと思い 現在に至っております。 転職を考えており、もう少しプログラムを勉強しようと思っています。 次はVB.NETかC#をと考えているんですが、 どちらがいいでしょうか。 個人的な目標としてはWINDOWSのPC上でGUIで動く ヤフオクの出品ツールが作れるぐらいを考えています。 それでご相談なのですが、VBとVB.NETはかなり違うとのことですが VBAを学んでいるとC#に比べVB.NETは多少は習得し易いでしょうか。 VBAが習得の上で何のアドバンテージにもならないのであれば、 人気のC#にしようかと思っています。 ちなみに今の職場にいる限りVBA以外のプログラムをする機会はありません。 恐れ入りますが回答をお願いいたします。

  • VBプログラムをEXCEL VBAに移植する方法について教えてください

    こんばんは。私はVBA初心者です。 ”良くVBとVBAは同様な言語”と伺いますが、実際にVBプログラムのソースを VBAにコピーしてもエラーが出て使用できません。 私がいまいちVBとVBAの明確な違いがわかっていないからだと思いますが、頭がもやもやです。 VBはHP上からVB2005を入手しました。 そもそもVBとVBAの相違点は何が違いますか? HPを見ているとVBAでもVB同様にシステムも組めると記載されているため EXCEL上で動作するVBAで、簡単なシステムを組みたいと思ってます。 どうすればVBプログラムをEXCEL VBAに簡単に移植できますか? 作業手順、移植する際に注意する点等、アドバイスを教えてください。 また参考になるHPや本をご紹介くださいませ。

  • VBAからVBへ

    現在仕事でEXCELのマクロ修正から、少しずつVBAを使っています。全くの独学で本と人の作った者とでといった感じです。でも、結構楽しくってはまってます。自分がどの程度できるかもわからないのですが、VBに興味があり勉強しようと思ってますが、VBNETを今後勉強した方がいいのか、もっと完璧にVBAを使いこなしてからのほうがいいのかなど、全然わかりません。知識はEXCEL・WORD・ACCESSなどを使うくらいで初心者です。アドバイスがあれば教えて下さい。

  • VBを買いたいが…

     コンピュータ関係の仕事をしている訳でもなく、システム管理者等でもないのですが、個人的にVBを買いたいと思っています。  Excelを持っているので、ExcelVBAは多少勉強したのですが、開発ソフトも使ってみたいという欲求が出てきたのです。  ExcelVBAの知識を土台にしようと思っているので、VB6.0とかVB.netのどちらかを買おうかなと考えているのですが、この2つはどのように違うのでしょうか?当サイトの回答などではVB6.0を薦めている人が多いようなのですが。  MSDNを見ても、用語が難しくて理解できません。また、VB.netのことばかりで、VB6.0のことが出ていない(と思う)のですが、VB6.0は現在発売されていないorマイクロソフトのサポートが無くなる、など不都合なことはありませんか?また、VB6.0が買えるとしたらいくらぐらいなのでしょうか?各種HPでVB.netが1~2万円ということは分かったのですが。  VB6.0はExcelVBAの知識が役に立ちそうですが、VB.netもそうなのでしょうか?  いろいろ質問を羅列してしまい、分かりにくくなっていますが、よろしくお願いします。

  • VBAについて教えてください。初心者です。

    前回、VBについて質問させていただきました。 そのときに親切な方々に教えていただきVBとVBAは別物だと知りました。 日経ソフトウェアの本を読みながらVBの勉強をとおもってたのですが、VBAだったためLoadコマンドなどのプログラムですでに解らなくなってしまったのです。 いろいろ質問欄を拝見させていただきましたが、VBの勉強をVBAでしてても問題はあまりないとなんとなく解って来たのですが、VB専用(日経ソフトウェアの様な本)の本を読みながらですとVBAでは仕様が違うプログラム内容が出てきそうなので、VBA専用の参考書とか解りやすい専用本ないでしょうか?? 解りやすいと言うところが難しいかもですが、よろしくお願いいたします。 また、VBが出来るって人に言うまでのレベルになるにはVBAで勉強を進めていても問題ないでしょうか?? 度重なる質問ごめんなさい。

  • VB6とExcel2003VBAの処理の違い

    以前エクセル2003VBAで作ったプログラムをVB6に現在移植中です。 その中で基本的なことかも知れないのですが処理の方法が違う様で のっけからつまづいています。 Private sub TEST() Form1.Show If Form1.Text1.Text = 1 Then Form2.Show Else Form3.Show End If End Sub と、いったプログラムをコディングした場合、 Excel2003VBAではForm1からの入力を待ってから次の処理 (If Form1.Text1.Text = 1 Then・・・・)に進むのですが VB6はForm1を表示してからすぐに次の処理 (If Form1.Text1.Text = 1 Then・・・・)に進んでしまいます。 何か設定なのでしょうか? 尚、当方VB6は超がつくド素人です。 どうか、優しく教えてください。 お願いいたします。

専門家に質問してみよう