• ベストアンサー

VBAのブラッシュアップについて(Excel)

マクロ初心者です。 仕事でマクロを組む機会が増えました。 初心者向けの本を読みながらマクロの記録を実行したり、掲示板サイトで投稿記事を 参照して転用したりしておりますが、そのやり方に行き詰まりを感じるようになりました。 理解が浅いため、応用がきかないからです。 マクロの記録を使わずにVBAでプログラムが書けるようになりたいのですが、効率のよい 勉強がありましたら、教えて頂けませんでしょうか? よろしくお願い致します。

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

  • ベストアンサー
回答No.2

こんにちは。 効率良く覚えるには、Excelなら、ワークシートを度外視して、ひたすら、構文を書いて実行すれば、徐々に記憶に定着します。残念ながら、あまりそういう教本はありません。なまじ、オブジェクトの種類をあれこれと扱うから、混乱してくるのです。それに、記録マクロには学ぶべきものはありません。 >掲示板サイトで投稿記事を参照して転用したりしておりますが、 掲示板で学ぼうとはしないほうがよいです。 質問者というのは、多くは出来る人が、困って聞いている内容ですから、とても分かるものではありません。自分のスタイルが決まらない内に、掲示板内容をそのまま貼り付けて使っていると、ますます、自分のコードがおかしなものになっていきます。掲示板で回答している私が言うのはおかしいですが、掲示板では進歩しません。単なる自己再確認だけをしているようなものです。 誰しも最初はあります。VBAは、教本を最後まで、ともかく細かい所は抜きにして、最後の上級文法までやりぬくこと。私は、大村あつしさんの本を使いました。それまで、何度か挫折しました。 入門編では、疑問を感じたら、この先に答えがあると信じて、分からなくても、とにかく先に進むこと。絶対に立ち止まらないこと。掲示板などで、これはどういう意味ですかとか、初歩的な質問を聞かないこと。聞いていると、まったく先が見えなくなります。だいたい、3ヶ月我慢すればよいです。3ヶ月を目処にして、ひと通り終えるようにカリキュラムを組みます。 コードは見て覚えるのではなく、ひたすら、書いて覚え、必ず実行してみること。 だいたい、量的には500個だと言われます。 明確な目的があってプログラム文法を覚えて使えるようになったという人は、天才です。ふつうの人は、明確な目的を持たずに、ともかくコードを入れてみて、その反応を体感しながら、だんだん、オブジェクトの輪郭が分かって使えるようになったという人がほとんどのはずです。 p.s.VBA習得できるかどうかを占う問題があります。パソコン教室で、VBAを習った初日に出された宿題です。私は、自宅にExcelがなかったので、紙の上で式を書いて、それをパソコン教室に行って移植しました。 本を見よう見まねで構わないから、 「縦に並ぶ複数のセルの合計プログラムを作れ。」 「ただし、ワークシート関数は使ってはならない。」 というものでした。これが出来れば、VBAはいずれは出来るようになるというものでした。 今思うと質の良い問題だなって思います。初級の問題ですが、これは、間違いなく表計算の最初の開発者も同じように考えたのだろうと思います。Basicプログラムとしては簡単でも、表計算となると違ったものがあります。出来るようになって再び挑戦すると、また違った面が見えます。SUM関数が、どのように作られているか、ということを考える材料にもなります。

kujira_444
質問者

お礼

こんばんは。 丁寧なアドバイスありがとうございます。 とても励みになりました。 さっそく大村あつしさんの本をamazonで購入しました。 VBAは融通のきくツールだと直感的に感じています。 一日でも早く『便利』と感じるよう向上心を持って習得したいと思います。 ありがとうございました。

その他の回答 (1)

回答No.1

理解が浅いのですから、理解を深めればいいだけです。 記録されたマクロや、サイトを参照して手に入れたマクロなどがあると思いますが、それらのマクロが内部で何をやっているのか、考えた事はありますか? この命令はどういう意味だろう? この変数はどういう使われ方をしているのだろう? 等々、いろいろ疑問点が出てきてると思うのですが、それらを自分なりに解釈して理解しなければ前には進めませんよ。 VBAであれば、言い方が悪いですが、腐るほど情報はありますので・・・。

kujira_444
質問者

お礼

こんばんは。 的確なご回答ありがとうございます。 コード、変数、命令の関係を考えながらVBAの習得につなげていこうと思います。 ありがとうございました!

関連するQ&A