アプリ版:「スタンプのみでお礼する」機能のリリースについて

お世話になります。

現在、ExcelVBAで機械設計の計算をさせようと思い勉強しているのですが、VBとVBAの違い(VBと比較したとき、VBAできること、できない事)の境目?がいまいち判りません。
まだまだ勉強中で困惑しております。このままExcelVBAを勉強していく物か、VBについて勉強していくか迷っています。このままExcelVBAを勉強してExcelVBAを理解すれば判断できるかと思うのですが、畑違いの勉強になってしまわないかと心配です。

やりたいことは、各種計算の簡略化です。
現在は、関数電卓で行っていますが、これをパラメータを入力すると計算結果が出る。このような物を作りたいと思っています。

長くなってしまったのでまとめると、
1、VBAとVBの違い
2、ExcelVBAで設計計算が可能か
あと、
プログラムにより計算させるときに、最適なプログラム(JavaとかPHPとかHTML等など・・・)お勧めのプログラムがありましたらアドバイス頂けたらと思います。

A 回答 (7件)

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に移行するというのでも悪くないと思います。
    • good
    • 12
この回答へのお礼

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

お礼日時:2005/10/15 13:04

1


確かVBAの方はタイマーイベントが使えなかった気がします。

2
可能です。
ただし方の人が述べられていますが
計算精度には気をつけてください。
浮動小数点演算には使う変数型には細心注意を
    • good
    • 6
この回答へのお礼

返答大変遅れ申し訳ありません

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

お礼日時:2005/10/15 13:04

老婆心ながら...



現在関数電卓で行っている計算をPCでのプログラムに載せ替えるときは、計算精度に気をつけてくださいね。
    • good
    • 4
この回答へのお礼

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

お礼日時:2005/10/15 13:04

VBAはVBの後に、Aがついていますが、これはApplicationすなわち、エクセルの場合はエクセルを意味します。

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

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

お礼日時:2005/10/15 13:05

VBAとVBの違いはEXE(実行形式)が作成できるかどうかでしょうか。

VBAはそれぞれのアプリケーションに特化したコマンドが利用できますがVBでは別途コンポーネントを追加しなければ動作できません。(VBでexcelを作成する場合など)

ExcelVBAと言ってもVBとの違いはほとんどありませんので同じようなことが出来ますよ。

計算の量にもよりますがパスカルが計算には有利なロジックをもっていると聞きます。


操作性、作成速度を考えればVBAで十分と思います。
    • good
    • 2
この回答へのお礼

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

お礼日時:2005/10/15 13:05

>VBAとVBの違い


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

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

お礼日時:2005/10/15 13:05

電卓で可能な関数計算程度でしたらVBA(マクロ)もVBも必要ないのではないかと思います。


EXCEL関数だけで計算できないものがあるのでしたらマクロ化する(VBA化する)。それでも困難ならVBでプログラミングするのが一般的です。

計算式が多く管理が困難なときにもVBAは使われますが一般のプログラマーではない方は関数だけで色々しているでしょう

ちなみに私はVBはプログラミング言語、VBAはセル参照機能を含んだVBベースのスクリプト言語という認識をしています。
    • good
    • 2
この回答へのお礼

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

お礼日時:2005/10/15 13:05

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