質問: vbaのrange()ってオブジェクトですか、プロパティですか、メソッドですか? 最近vbaを勉強しはじめました。 基本的なことだとは思いますが、なかなかネットで検索していても頭が混乱してしまうので、こちらで質問させてください。 range("a1")という記述は、vbaでは何を意味しているのでしょうか? range("a1")というのは、rangeオブジェクトそのものではないらしいことはわかったのですが、そこから先はなんだかチンプンカンプンで。 色々、見ていると、 オブジェクトを返すメソッド?? オブジェクトを返すプロパティ?? 四苦八苦しながら、結果的に動くプログラムは書けることは書けるのですが、どうにも、自分が何やっているのかわからないのは気持ちが悪くて。 あと、気になる言葉でアクセッサってのが見つかりました。 もはや、何をどう質問していいのかすらわからないレベルです。 vbaについて、少しずつ、体系的に学びたいと思ってます。 この本を読むとわかりやすいとかそんなアドバイスでもいただけたら、とても助かります。
回答: こんにちは。 >やみくもに勉強するより、基本的知識を体系的にまず頭に入れて、肉付けをしていくというのが、経験的に効率的なことが多かったので、プログラミングも同じやり方をしようかと思ったのですが。 最初の方法で失敗した後に、私もそのように思いました。早い人では、vbaを3ヶ月程度で覚えてしまう人もいます。教本の選択が大事だと思います。私は、書籍の選択の失敗で、一年を無駄にしてしまいました。あまりに細かいところを覚えようとすると、全体が見えなくなります。分からないことは飛ばして進むということが大事なのです。 これは、「vbaエキスパート」の試験内容ですが、この範囲で、足らない部分もありますが全体的な概要は分かるはずです。 http://vbae.odyssey-com.co.jp/vbae/ex_b.html http://vbae.odyssey-com.co.jp/vbae/ex_s.html (試験の受験料は高いので、私は、受けませんが、9割は取れるつもりです) 私が、vbaを始めた理由のひとつに、語学をいくら勉強しても、伸びない代償として、vbaに手を出したことです。 英語などを覚えるよりも、ずっと楽に覚えられます。しかし、語学を覚える手順に似ているように思います。語学は、基本構文を覚えて、それを使います。多くは、パターンがありますから、そのパターンに当てはめて使います。碁や将棋でいう、「定石」しかありませんから、よほどのことがない限りは、「定石」外しはありません。しかし、標準テキストのようなものがないのは、私も痛感させられます。確かに、#2で挙げた、大村氏の『かんたんプログラミング』シリーズは良い本ですが、初級、中級とレベル別けしたほうが良かったなと思いますが、これは、出版社側のつごうのように思えます。あまり内容が細かく書きすぎて、読み手は、途中で疲れてしまいます。それでも、vbaを学校で習いに行ったら、10数万円にもなってしまいます。 新刊 『vbaエキスパート公式テキスト excel vba standard』6/12発売 http://vbae.odyssey-com.co.jp/training/text.html#new まだ、出版されていないように思いますので、この本がどの程度のものかよく分かりません。期待しても良いかもしれません。 多くのプログラミングの書籍に書かれてあるように、実際に、pcで、自分の手でコマンドやコードを入れてみることが早道だといいます。だいたい、500コードを考えて入れれば、覚えられるそうです。一日、ひとつを入れたとしたら、1年以上は掛かってしまいます。3ヶ月で覚えるには、1日5コードぐらいは必要になります。しかし、否定する人も多いのですが、パソコンのない環境でも、頭の中でシミュレートをしても可能です。事実、私は、コーディングで分からないとき、パソコンのない場所で、解き方を思いつくことが多いものです。ある程度実力が付けば、コードだけでも、読み切れれば、それでも覚えられます。また、コードだけで、読み切る力も必要になります。 >vbaってなくなっちゃうんですか? 前回の書き込みを訂正します。気になって、次バージョンの状況を調べてみました。 next microsoft office will continue to support vba(英文) 「次のmicrosoft officeは、vbaをサポートし続ける」 scott m. fulton 2008/1/23 http://www.betanews.com/article/next-microsoft-office-will-continue-to-support-vba/1201120613 要約 ------------------------------------- windows 版office のvbaマクロ機能は、次バージョンoffice 2010で辞めると発表したのは事実ではあり、その代替えの、vsta(visual studio tools for applications)を勧めているるけれども、それは、現visual studioのメンバー・チームからの発表である。 excelチーム開発者のチーリロフは、mac に対して、vbaを組み込まないという発表はし、また、ver.4 関数型マクロ形式は取り外すという発表をしているが、「我々は、windows版officeの将来のバージョンからvbaを取り外すくという計画がない。」と言っている。 ------------------------------------- 記事内容が古いのが、少し、気になるところです。この後に、mac は、再び、vbaを復活するというアナウンスが出ています。 http://www.microsoft.com/japan/presspass/detail.aspx?newsid=3439 ~ 次期 office for mac では vba を再び搭載 ~ 2008 年 5 月 14 日 (japan)