• ベストアンサー

VBA習得のための参考書を教えてください

会社で昔の人が作ったVBAを復活させたいので習得したいと思っています。スクールも考えましたが、以前質問させていただいた時、「自分で プログラミングを追ってみる」とアドバイスを頂きました。 私は基本がないのですが、お勧め参考書があったら教えてください。 会社の方が「あなたが持っているのはVBAの本だけど、基本が書いていないから、フローチャートの描き方とかそういうのを買って、プログラミングの仕方を分かったほうがいいのでは?」と言われたのですが どんなのがいいかわからないのです。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 >「・・・フローチャートの描き方とかそういうのを買って、プログラミングの仕方を分かったほうがいいのでは?」と言われたのですが そんなたいそうなものは、VBAでは、めったに作りませんね。今時は、構造化プログラムにしますから、フローチャートからなんていうのはないですし、そういう部分での失敗というのは、たぶん、ありえないです。それぞれのプロシージャは、複雑なものは書きません。長くなるようなら、プロシージャを別ければよいのですから。 私は、何度も書いていますが、VBAは、「浅く・広く」という考え方をお勧めしています。 VBAっていうのは、本当に、邪魔なものが多すぎるし、制限も多いので、そういう邪魔なものを後回しにして、学習をすれば、そんなに時間が掛かるものではないはずなのです。邪魔なものというのは、要するにワークシート・オブジェクトですね。以下の書籍でも、結構、最初に出てくるのですが、最初は、さっぱり分からないのです。また、私は、こういうのは、いくら説明しても、入門当初は、分からないと思います。 特に、Cells と Range, Sheet と Worksheet という似たもの同士が、混乱させるのです。 こういうのは、考えないことですね。先に、どんどん進めばよいと思います。 ともかく、VB Editor に自分でコードを書いてみて、ステップマクロ(F8)で、ローカルウィンドウに、何が入っていくのか見ていけば、VBにはない覚え方が出来ます。 『かんたんプログラミング Excel2003VBA 基礎編』 全3冊ですが、まとめて購入したほうがよいかと思います。1冊1ヶ月ぐらいで進めればよいです。

参考URL:
http://www.amazon.co.jp/gp/explorer/4774119660/2/ref=pd_lpo_ase/503-7826443-3595942?
t02n
質問者

お礼

ありがとうございます。 VBAをマスターできるよう、地道にやるしかないですね。

その他の回答 (3)

  • Kuppycat
  • ベストアンサー率50% (109/216)
回答No.4

参考書ではありませんが。 フローチャート で検索をかけると判りやすいサイト見つかります。 学校の課題系のサイトがよいかも。 VBAのテクニックに関してはこちらがお勧め。 http://www.moug.net/tech/exvba/index.htm

参考URL:
http://www.moug.net/tech/acvba/index.htm
t02n
質問者

お礼

ありがとうございます。 活用させていただきます。

  • popesyu
  • ベストアンサー率36% (1782/4883)
回答No.3

もちろんフローチャート的な思考方法は非常に大事ですし、基本中の基本を抑えておくというのはお勧めではありますが、2番さんがご指摘のようにVBAの場合はそこまで大掛かりなものにはならないですし。部品単位で簡単に分けられるようになっていますので、仰々しく構える必要はないと思います。 アドバイスとしてはVBAの場合はマクロの記録機能が非常に有効ですね。例えばどこかのセルをコピーしてどこかのセルに貼り付けるとか、シートの名前を変更するとか挿入するとか、そういう操作を記録してしまえば、後は細かいところを修正するだけで、それっぽいコードは完成してしまいます(実際は無駄なコードが多いので慣れてしまえば削るというよりは、必要なところだけを抜き出すという感じになりますが)。 判別とループの部分は、これはフローチャート式思考が必要になりますが、脳内で組み立てる(AがBより大きくなったらCとする的な)ぐらいでも十分ですし、複雑になったらメモに書いちゃってもかまいません。※ただ本来は今回のような引継ぎのことを考えたら、きちんと定義書から記録を残しておくべきとはなるんですが。おそらくそこまでのものでも無いとは思いますし。 で具体的な参考書としては、上記のような判別やループのロジック部分と具体的なコードの意味が分かるようになったら、「逆引き辞典」式のものがあると作業が楽になります。プロパティやメゾットがあってその意味が載っているのではなく、こういうことをするにはとうい機能説明があって、それにはこれという具体的な使い方が解説されているようなタイプの本です。

t02n
質問者

お礼

ありがとうございます。 VBAが言語で一番とっつきやすいと聞いていますが、素人の私は かなり苦労を強いられています。 辞典も本屋で探そうと思います。

  • phoenix343
  • ベストアンサー率15% (296/1946)
回答No.1

VBAの本があるのなら、そこにサンプルソースなどが載っていると思うのですが、それでは理解できないのでしょうか? 私はそれで乗り切りましたね。とにかく載っているサンプルを動かして、どういった動きになるかといったことを体で覚える! とにかく実行!最近のデバッガはよくできていて、滅多なことでは飛びません。ブレークポイントはって、こういう操作をしたらこうなる、この関数はこういった動きをする、など、実際見て感じておく。こうしたことで覚えたことは忘れないよ。 ……全然参考になりませんかね。 ごめんなさい

t02n
質問者

お礼

さっそくの回答ありがとうございます。 実際にやってみるのですね。参考書を読んだだけで実際にやってみることはあまりしていないので、そのへんからしてみます。