お世話になります。
現在、ExcelVBAで機械設計の計算をさせようと思い勉強しているのですが、VBとVBAの違い(VBと比較したとき、VBAできること、できない事)の境目?がいまいち判りません。
まだまだ勉強中で困惑しております。このままExcelVBAを勉強していく物か、VBについて勉強していくか迷っています。このままExcelVBAを勉強してExcelVBAを理解すれば判断できるかと思うのですが、畑違いの勉強になってしまわないかと心配です。
やりたいことは、各種計算の簡略化です。
現在は、関数電卓で行っていますが、これをパラメータを入力すると計算結果が出る。このような物を作りたいと思っています。
長くなってしまったのでまとめると、
1、VBAとVBの違い
2、ExcelVBAで設計計算が可能か
あと、
プログラムにより計算させるときに、最適なプログラム(JavaとかPHPとかHTML等など・・・)お勧めのプログラムがありましたらアドバイス頂けたらと思います。
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に移行するというのでも悪くないと思います。
皆様からのアドバイスを元にVBAの勉強進めています。
投稿したときよりVBAが理解できてきました。
まだまだ判らないことがあります。
投稿したときには皆様宜しくお願い致します。
(今度は早急に返信いたします)
No.4
- 回答日時:
VBAはVBの後に、Aがついていますが、これはApplicationすなわち、エクセルの場合はエクセルを意味します。
そこが肝心です。エクセルの手操作によってできる機能を、コードに置き換えられるようにできています。たとえば「シートを削除する」ということをしたい場合、エクセルVBAであれば、Activeshhet.Deleteで実現します。VBではふつうにはできません。
すなわち、エクセル独自の仕掛けである、シート、セルなど(エクセルのオブジェクト)に特化したプロパティやメソッドがある(集められている)ということです。
計算だけであればVBとVBAは近い。ややエクセルワークシート関数が使える利があるかもしれないが、自作してもたいしたことはない。
結果をセルにすぐ表示できる、印刷できるのが手軽なのはエクセルの便利なところ。
しかし精緻な仕組みにするにはフォームや特別のレポートソフトの方がよいかも知れない。
>ExcelVBAで設計計算が可能か
具体的なことが判らないが、15桁の制約があります。
ユーザー定義関数も可能です。
どちらがふさわしいかは、その人がVBとVBAの両方をやってみないと判らない
かも知れない。便利と思うのも、何に重点をおいて、評価するかが、大きく影響します。
最後にVBからエクセルVBAの世界に入ることも、簡単にできるので、議論する
意味が余りない。データならVBAでCSVなどで受け渡ししても、数秒の待ちで、VBとエクセルVBA相互間の処理が続くと思う。
作品を市販しようとなると、EXE(実行形式)が作成できるかが影響します。
マクロと関連付ける説は反対。エクセルではマクロという言葉は抹消すべし。スクリプト言語であるというのも反対。「高級言語」はみなスクリプト的になると思うので、それで特徴を表すことにならないとおもう。
皆様からのアドバイスを元にVBAの勉強進めています。
投稿したときよりVBAが理解できてきました。
まだまだ判らないことがあります。
投稿したときには皆様宜しくお願い致します。
(今度は早急に返信いたします)
No.3
- 回答日時:
VBAとVBの違いはEXE(実行形式)が作成できるかどうかでしょうか。
VBAはそれぞれのアプリケーションに特化したコマンドが利用できますがVBでは別途コンポーネントを追加しなければ動作できません。(VBでexcelを作成する場合など)ExcelVBAと言ってもVBとの違いはほとんどありませんので同じようなことが出来ますよ。
計算の量にもよりますがパスカルが計算には有利なロジックをもっていると聞きます。
操作性、作成速度を考えればVBAで十分と思います。
皆様からのアドバイスを元にVBAの勉強進めています。
投稿したときよりVBAが理解できてきました。
まだまだ判らないことがあります。
投稿したときには皆様宜しくお願い致します。
(今度は早急に返信いたします)
No.2
- 回答日時:
>VBAとVBの違い
VBはプログラミング言語。
VBAはMicrosoft社の製品に独自の機能拡張を施すためのマクロ言語として開発されたプログラミング言語でVBをベースにマクロ言語用に改造されたもの。
>ExcelVBAで設計計算が可能か
Excelで作られた機械設計計算ソフトがあるくらいですから可能。
>プログラムにより計算させるときに最適なプログラム
全てのプログラムに於いて演算処理は同等です。関数や記述法が変わるくらい。膨大なデータを解析するのもマシン速度に依存するだけで演算は同じ。
皆様からのアドバイスを元にVBAの勉強進めています。
投稿したときよりVBAが理解できてきました。
まだまだ判らないことがあります。
投稿したときには皆様宜しくお願い致します。
(今度は早急に返信いたします)
No.1
- 回答日時:
電卓で可能な関数計算程度でしたらVBA(マクロ)もVBも必要ないのではないかと思います。
EXCEL関数だけで計算できないものがあるのでしたらマクロ化する(VBA化する)。それでも困難ならVBでプログラミングするのが一般的です。
計算式が多く管理が困難なときにもVBAは使われますが一般のプログラマーではない方は関数だけで色々しているでしょう
ちなみに私はVBはプログラミング言語、VBAはセル参照機能を含んだVBベースのスクリプト言語という認識をしています。
皆様からのアドバイスを元にVBAの勉強進めています。
投稿したときよりVBAが理解できてきました。
まだまだ判らないことがあります。
投稿したときには皆様宜しくお願い致します。
(今度は早急に返信いたします)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
バッチファイルでウインドウを...
-
数十万番目の素数を表示させる...
-
C言語で電卓を作成する。修正お...
-
matlabで計算終了
-
VBAの再計算が反映されない件に...
-
smartyで計算を行う方法
-
パチンコゲームを作りたいので...
-
タクシー料金の問題です
-
matlabについて
-
綺麗なローレンツ・アトラクタ...
-
R言語での極小値の指数形式での...
-
40桁の
-
加速度から変位の変換について
-
0xf0=256?
-
Excel VBAの残業時間の合計計算...
-
継承元と継承先での変数
-
C++ でファイルを消す関数(??)
-
EXCELなどで「返す」という表現
-
変化させるセルが変化しない
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
65536は2の何乗なのでしょうか?
-
VBAの再計算が反映されない件に...
-
EXCELなどで「返す」という表現
-
変化させるセルが変化しない
-
VBAで関数をつくる
-
排他的論理和 BCC(水平パリテ...
-
バッチファイルでウインドウを...
-
CRC8を教えてください
-
傾いた四角形内の範囲の条件式
-
「評価」「評価値」という言葉...
-
エクセルで特定のセルのみを任...
-
モジュラス103の計算とは何でし...
-
CとFORTRANの計算速度はどちら...
-
エクセルVBA 他の仕事を止...
-
MATLABの利点と欠点
-
Visual C++でdebugとreleaseで...
-
C言語についてです。 再帰を使...
-
C言語の課題で、1年の秒数を計...
-
モジュロ
-
SNRの計算の仕方
おすすめ情報