• ベストアンサー

VisualBasic を学ぼうと検討しております

VisualBasic を学ぼうと検討しております。 VBをある程度書けるようになると、Excelのマクロ作成にも役立つと認識してますが、正しいでしょうか。(共通的な部分があると思っています) 初歩な質問ですが、よろしくお願いします。

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

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

>VBをある程度書けるようになると、Excelのマクロ作成にも役立つと認識してますが 見当違いです。 エクセルVBAが判ったからといって、VB.Netが直ぐ使えるわけではない。VB6がVBAのベースですが、VB6と.NETのその落差は新しい言語を勉強する以上だ。 VB.NETが市販解説書レベルで使えても、エクセルVBAのコードが直ぐかけない。 文法にやや共通するところがあるが、そんな知識は役立つと言えるレベルではない。難しい点は別に膨大にある。 エクセルVBAのオブジェクト、プロパティ、メソッドなど覚えない(覚えなくても調べられれば良いのだが)と、エクセルのVBAでエクセルの処理は動かせない。 エクセルVBAはエクセルVBAの学習をすべきだ。両方同時にやろうと言うのは、欲が深すぎる。独学では、どちらもそんなに、たやすいものではない。多数の人の中には、簡単でしたよ、と言う人も居そうだが、世の中には、こういうプログラム学習に才能のある人も要るようだが、質問者がそうだと言うデータはない。 またVB.NETでエクセルを動かす方法は設けられてあるが、VB.NETの一分野と考えた方が良いでしょう。 ただしエクセルVBAの知識は要るでしょう。 ーー COM Interop エクセル VB.NET  でGoogleででも照会して出てくるコード 普通の人には情報源が市販の書物やWEBしかないが、市販の書物など入門者用ばかりで、その解説には、本当に大切な点(考え方や設計思想、使い方など、実は解説が難しいことが多い)は避けてある。

571030
質問者

お礼

ご回答ありがとうございます。 >VBをある程度書けるようになると、Excelのマクロ作成にも役立つと認識してますが >>見当違いです。 全く別の言語として考えて間違いないレベルなんですね。 失礼しました。 >VB6と.NET VBにも2つある、との認識で正しいのでしょうか。 違いを調べてみます、 ありがとうございました!

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (4)

  • layy
  • ベストアンサー率23% (292/1222)
回答No.5

TIPS一例 http://www.geocities.co.jp/siliconvalley/4805/index.html VBとVBAでみるとわかるように、 テクニック的なもの、必要になるだろうこと、は違ってくるのです。 似ている点(=共通の知識を使う)より 違う点(=覚えないといけない)のがはるかに多い。 どちらか、挫折しないでできる方から がんばりましょう。

571030
質問者

お礼

似ている点(=共通の知識を使う)より 違う点(=覚えないといけない)のがはるかに多い。 全く別の言語、と認識すべきですね。 やりたいこと の優先順位を考えて、もう一度検討しなおしてみます。 的確なアドバイスありがとうございます!!

全文を見る
すると、全ての回答が全文表示されます。
  • layy
  • ベストアンサー率23% (292/1222)
回答No.4

>Visualではないですよね そんなことはない。 「VisualBasic」が出る前からを思えばすごく「Visual」になってます。 >VBをある程度書けるようになる これがどのくらいのことを意味しているか、ですね。 仕様を発案するところから始まりますから、コード書くのが最初の作業ではないのです。 何も見なくても、発案しコーディングできるレベルまで到達できるか。 これは1日2日でできるものでもない。 『プログラミング』がどんなものか。 ここの掲示板、VisualBasicやオフィスのカテゴリを見たら わかるようにたくさんの初心者?がVBA操作で悩みを抱えて質問しています。 専門学校を出て基本を学んだ人と独学の人との差は歴然です。 『"0123334"の7ケタを"-"挿入して"012-3334"にしたい。』 双方ともMID関数使ったりしますし、確かに似た命令語はあります。 でも、実際は共通といわれる部分ができてーより もっと違う次元のそれぞれにある機能レベルが必要です。 エクセルでいうとシート間操作したり、VBでいうとデータベースと連携させたり。 VBもマクロ(VBA)作成もプログラムの1つですから、 基本的なところ、作成に至る過程は大事です。アルゴリズムは必須。 「最近並べ替えしたい」との質問多いですが、 SORTコマンドを知っていても並べ替えのアルゴリズムを知らない人多いです。 並べ替え自身もプログラムでできる話です。 「並べ替え」「順位付け」「重複チェック」「マッチング」等、 大変なものです。 人に聞いてコードをコピー&貼り付けして動いた、 これは「書けた」「出来た」というレベルでない、 「カンニング」レベルなので、勘違いしないことです。 『プログラミング』になっていないのです。 エクセルVBAでもVBでも、勉強しないとできない。 EXCEL http://www.asahi-net.or.jp/~ZN3Y-NGI/YNxv20002.html http://www.asahi-net.or.jp/~ef2o-inue/top01.html http://www.voicechatjapan.com/excelvba/VBArei4.htm 参考で、ほんの一例です。 VBにしてもエクセルVBAにしても 「VBAエキスパート」とか試験がありますからそれも頑張ってみる。 学んではダメ、ではない。 違いが分かった上でどちらかにするか、両方ともやるか、です。 中途半端な知識では、間違ったシステムを招く恐れありますので困りますね。

571030
質問者

お礼

ご回答ありがとうございます。 >VBにしてもエクセルVBAにしても >「VBAエキスパート」とか試験がありますからそれも頑張ってみる。 試験もあるのですね!! 調べてみます!! 当方は、一応、Cとverilogを仕事で使っています。 趣味程度にWebページをVBで操作できるかな、VBやれば仕事で使うExcelマクロにも応用できるかな。 という、安直な考えでした。 アドバイスありがとうございました!!

全文を見る
すると、全ての回答が全文表示されます。
回答No.2

>提案します  私もVBの本を読んだけどね  どこがVISUAL(可視)やねん!  と思いました  貴方はソフトをそう言う方向に  高めてくれませんか?  余計な事ですいませんけどね・・

571030
質問者

お礼

ご回答、ありがとうございます。 プログラミングって意味だとVisualではないですよねw VisualC++とかも同意ですね そういう意味だと、HDL系でホントにvisualプログラミングを開発してました。 ブロックをつなぎ合わせて、ここはループとか演算とか きっと未来ではそういうプログラミングも出来るようになるんでしょうね。

全文を見る
すると、全ての回答が全文表示されます。
  • marutone
  • ベストアンサー率40% (70/174)
回答No.1

Excelのマクロを作りたいのなら、 Excel VBAを学ぶのが一番の近道です。 Visual BasicといってもVB.NETではなくVB6はVBAに近い言語ですね。

571030
質問者

お礼

ご回答、ありがとうございます。 作りたいのはVisual Basicの実行ファイルなのですが、他にもVBAにも役立つのかなぁ と思い、質問させていただきました。 VB.net と VB6 は別物なのですね(汗 その違いから調べてみます。 ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • VBAの考え方からVisualBasicへ

    いつもお世話になっています。 約半年ほど前よりエクセルのVBAを勉強し始めまして 機会がありVisualBasicを覚える事になりました。 会社の先輩が作ったVB6のコードを見ていたのですが やっている事が何となくわかる様なわからない様な・・・ という感じです。。 例えばエクセルでは(A1~A20までのセル)、VBでは同じようにグリッドにデータが入力してあり 選択しているセル(A1)のデータと一致するセルを含む行又はレコードを選択するという処理があったとします。(あくまでも例です) エクセルでもVBでもFor~Nextが使える事はわかったのですが 対象とする目印?的なものの(基準というか考え方というか)が理解出来ないのです・・・・。。 エクセルだとcells(rows.count,1).end(xlup).rowで最終行を取得して For~NextでIf Range("A1").value = cells(i,1).value then・・・ で処理できますがVBではどうなのかとか・・・・ (説明がめちゃくちゃですみません。。泣) 同じようにVBAからVisualBasicを始めた方! VBAでのプログラミングの考え方とVisualBasicの考え方の違いや どういう風に勉強していけば良いか等、アドバイスや経験談等を教えて頂きたいです。 宜しくお願い致します。

  • VisualBasic.Netを購入してみようかと思っているのですが…

     ExcelVBAでVBについて多少勉強した程度ですが、もう少し本格的なプログラミングを書いてみたいと考えています。さしあたり、ExcelVBAではなくVB開発ソフトを購入して、勉強しようと思っていますが、VisualStudio.Netは高価なので、VisualBasic.Net Standardの購入を考えています。  ここで、質問なのですが、開発ソフトがVisualBasic.Netだけでも、AccessやSQLServerなどをADOで操作できるのでしょうか。今はExcelVBAでAccessJetデータベースの操作を不勉強なりにやっているのですが、ExcelVBAでできるということはVisualBasic.Net Standardでもできると考えてよいのでしょうか。  よろしくお願いします。ちなみにOSはWinXP Homeです。

  • VisualBasicアプリについて教えて下さい。

    VisualBasicでのWindowsアプリ作成について教えてください。TreeViewで選択したフォルダのサイズを調べられるアプリを作成したい。 1週間ほど前からVisualBasicを学び始め、現在以下のようなアプリを作っています。 作り始めてみたものの、コントロールを配置後、何をどうすればよいか全くわかりません。 どなたかプログラム例を教えてくれませんか? 【内容】TreeViewでフォルダを選択→テキストボックス等に選択したフォルダのサイズが表示される 【VBのバージョン】VisualBasic2010Express ※「本で調べてください」といった回答はご遠慮下さい。ヒントやプログラム例を回答してくださる方のみ、回答をお待ちしています。

  • VisualBasic.NETについて。

    VisualBasic.NETを勉強する必要があるのですが、どうしてよいかわかりません。VisualBasic.NETについて一応自分でも調べてみたのですが、やはりわかりませんでしたので質問させていただきました。 最近書籍を購入し、さっそく勉強を始ました。すると本の冒頭には「VisualBasic.NETを起動すると~」とあるのですが、どう起動させるのかがわかりません。そもそもなにかをインストールして環境を整える、などをしなくてもできるものなのでしょうか。 ということでど素人なのですが、VB.NETをはじめるにはどうしたらよいか、助言をお願いします。

  • VisualBasic5.0のことで

    VisualBasic5.0のことです。 1.Form上に他のソフトの画像をコピーしたのですが、それを消去するにはどうすればいいのでしょうか。 2.Form上にImageを用いて.icoファイルを挿入しました。その.icoファイルはペイントで作成されているので本来の図形とともにキャンバスの白い部分が表示されてしまうのですが、その白い部分を透明にすることはできるでしょうか?

  • VisualBasic2010を使用しての業務用の帳票ソフトを作成しよ

    VisualBasic2010を使用しての業務用の帳票ソフトを作成しようと思っています。過去にvb6.0で作成の経験はあります。そこで不安なのですが、2010には印刷をサポートする機能は十分に含まれているのでしょうか?例えば6.0で作成した際(数年前ですが)には、vbreportなどのソフトを挟んでいました。エクセルを自由自在に操作する機能などは入っているのでしょうか? 知識不足ですいません、アドバイス願います。 

  • VisualBasic6.0でGetObject関数を使用しExcel

    VisualBasic6.0でGetObject関数を使用しExcelのマクロを実行させようとしています。 (1) Set AppXL = CreateObject("Excel.Application") (2) AppXL.Application.Visible = True (3) Set MyXL = GetObject("C:\伝票.xls") マクロの実行はできたのですが、ユーザーが別のエクセルファイルを 印刷プレビューで表示したまま、VBのプログラムを実行すると(3)で 「コンポーネントを使用できません」とメッセージが表示されてしまいます。 ***コンポーネントを使用できません****************************** 他のアプリケーションがサーバーを使用しているため、この操作を完了 できません。操作を続けるには、[切り替え]を選択して、他の アプリケーションを終了させてください。 [切り替え][再試行] *********************************************************** コンポーネントエラーが発生するとエラーメッセージ「印刷プレビューを 閉じてください」が表示されるようにしたいのですが、方法がわからず 困っています。 (On Error GoTo を使ってもダメでした。) VisualBasic6.0のプログラムで何か良い方法があれば教えてください。

  • VisualBasic2008でWord2003を制御したいです。

    現在、VisualBasic2008でWord2003で作成した表を段落記号で区切って解除するプログラムを作成しています。Wordのマクロでもできるのですが、VisualBasic2008でもWordのマクロと同じようにWordドキュメントを制御できるのか、勉強したくて作成しています。 以下は一部を抜粋したものですが、「名前Selectionは宣言されていません」というエラーがでてしまいます。他の箇所でも「Selection」を使っている部分ではエラーがでます。 どなたかご存知の方対処方法を教えていただけないでしょうか。 なにぶん初心者なもので、わかりやすくご指導いただけると幸いです。 Dim wdDoc As Microsoft.Office.Interop.Word.Document For Each tbl In wdDoc.Tables '表を選択 tbl.Select() '段落記号で区切って表を解除する Selection.Rows.ConvertToText(Separator:=wdSeparateByParagraphs) Next

  • VisualBasicのコンポーネントであるZedgraphの商用利用

    VisualBasicのコンポーネントであるZedgraphの商用利用について VisualBasic2010Expressを使って、あるグラフ集計ソフトを作成しました。基本的には、デフォルトで組み込まれているコンポーネントにて作成していますが、グラフについては「Zedgraph]なるものを使って表示しています。 VBの商用利用における公開は、問題ないということでしたが、このような「Zedgraph]は、商用利用は可能でしょうか?

  • VisualBasic6.0のサポートについてです。

    こんにちは!よろしくお願いします。 「VisualBasic6.0」について質問です。 今年の4月にマイクロソフトさんからのサポートが終了しました。 よってサポートを終了したこの製品をインターネットに接続している パソコンで使用し続けるのは止めたほうがいいのでしょうか? よくWindows製品は「脆弱性」に対する修正パッチが配布されなくなり 危険なので使用を中止したほうがいいと耳にします。 VisualBasic6.0でも同じような事情に当てはまるのでしょうか? 初歩的な質問ですみませんが、よろしくお願いします。