ここから本文です

Excel VBAをマスターした方。どの程度勉強しましたか?

to_********さん

2009/1/1411:29:57

Excel VBAをマスターした方。どの程度勉強しましたか?

上司の指示により、数ヶ月前からVBAの勉強をしています。
一日2時間程度の勉強ですが、なかなか理解できるようになりません。
(Excelは中級程度だと思います)
勉強法としては、全くの初心者ですので入門書(2冊)を暗記するほど読み、
実際にプロシージャを書いてみました。
でも、いざ実務に応用しようとすると、サッパリ分からないのです。

Excel VBA をマスターされた方はどのような勉強法で、どの程度の期間勉強しましたか?
参考に教えていただきたいです。

閲覧数:
43,868
回答数:
3
お礼:
50枚

違反報告

ベストアンサーに選ばれた回答

hig********さん

2009/1/2101:32:33

BA狙いのおいらが、あえて自爆覚悟で私見を述べますよ(笑)

>勉強法としては、全くの初心者ですので入門書(2冊)を暗記するほど読み、
実際にプロシージャを書いてみました。

たぶん、ある程度機能を理解しているのではないか?と、推測いたします。

>でも、いざ実務に応用しようとすると、サッパリ分からないのです。

「単語の用例」に例えてみます。

例えば「御中」という単語を辞書で調べて覚えたとします。
---------------------------------------------------------
郵便物で、会社・団体など個人名以外のあて名の下に添える語。
三省堂提供「大辞林 第二版」より(by goo辞書)
---------------------------------------------------------
そしてあるとき、宛先を書かなければならなくなったときに、自然とこの単語が頭に思い浮かぶはずです。

つまりこの場合は、「御中」という単語の意味を知っていたために、
「郵便物で、会社・団体など個人名以外のあて名の下に添える語」が必要と感じたときに結びついたわけです。

IT業界では通常、ある事柄についての機能を知る(つまり前者のパターン)を「正引き」、
機能を実現させるための手段を知る(つまり後者のパターン)を「逆引き」と言っています。

簡単に言うと「正引き」は、こうしたら、こうなる。「逆引き」は、こうするためには、どうする?です。

先に述べたように、質問者はある程度機能を理解しているのではないか?と、推測いたします。
つまり「正引き」「逆引き」については、ある程度の知識を得ているということになります。(推測ですよ?)

では、なぜ応用できないか?

それは、そもそも与えられた目的を「逆引き」にまでブレークダウンできていないという事だと思います。

先の例えでいくと、
誰かに「○○のお知らせ」を通知しておいて。と、頼まれたとしたとき、電話にしようか、メールにしようか、書簡にしようかと考えて、書簡という選択をしたわけです。さらに葉書か封書かという選択を経て宛名を書くレベルに行き着きます。

そのような過程をVBAの世界で行わなければならないわけです。

VBAの一つ一つの機能なんてものは、本当にどうでも良いような小さな機能に過ぎません。
ですが、それらの機能が繋がって大きなシステムとなっているのも事実です。
ですから、逆にVBAで何かをしようとしたら、その目的を小さな機能にブレークダウンせざるを得ないわけです。

簡単に言うとそのような作業、それがプログラミングなわけです。

waratazo123さんがおっしゃるように、このようなノウハウはどのVBAの書籍にもないと思います。
また個人差があるのも事実です。人によっては、難なくブレークダウンできる人もいます。

敢えて近道とすれば、多くの「逆引き」パターンを組み合わせてみることですかね。

例えば、「シートのコピー」と「セルへの代入」があれば、「シートをコピーして、そのコピーしたシートのセルA1に文字を代入する。」
とか、逆に「シートをコピーして、そのコピー元のシートのセルA1に文字を代入する。」とか。
どんどん自分で思いつく「逆引き」の応用の組み合わせを作って試してみるのもいいかもしれません。
実際多くのVBAの講師なんかも、習った機能を組み合わせて課題を作るわけですし。

そうしているうちに、どんどんコツがつかめてくるのではないでしょうか?

まあ、自分で問題作って嵌ったら、またここに質問すると誰か親切な人が教えてくれますよ(笑)


「excel VBA 逆引き」でググってみたサイト↓

Excelノート - 項目一覧
http://www2.hornet.co.jp/tomoko/MikoNotes/default.htm

すぐに役立つエクセルVBAマクロ集
http://www.asahi-net.or.jp/~zn3y-ngi/

「excel VBA TIPS」でググってみたサイト↓

Office TANAKA - VBA Tips
http://officetanaka.net/excel/vba/tips/

まあ、いろんなサイトあります。

あ、最後に
>Excel VBAをマスターした方。どの程度勉強しましたか?
おいらはプログラマーじゃないんで、マスターするつもりはないですよ?(笑)
勉強もあまりやった記憶はないです。その度にHELPみて、サイト見て。。。

ただ機能の切り分け(ブレークダウン)は、結構最初からできているかもしれないです。
逆に機能のブレークダウンができれば、あとはなんとかなるんですよ。がんばってください。

----------------------------------------------------
ブログ「Yahoo!知恵袋のBA回答への補足等」始めました。
http://blogs.yahoo.co.jp/higashikanagawa_bad/
回答後の追記・補足や修正があれば、反映しています。

ニコニコ動画のボカロオリジナルと、アーティストを紹介、応援しています。
こちらも、よろしく。
http://yokohamaloving.web.fc2.com/
----------------------------------------------------

質問した人からのコメント

2009/1/21 09:34:08

成功 ありがとうございます!

このQ&Aで解決しましたか?質問する

閉じる

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

Wataさん

2009/1/1420:27:35

マスターしたなどとは転んでも言えませんが,「こんな事がしたいな」と思ったときにヘルプを参考にしながら作っています。
VBAの参考書は2冊ですが,まじめなプログラムの本ではなくプログラムになじむ本です。
すごく為になりました。
「こっそりひそかにVBA」という本です。

実務にどう応用するかというのは,プログラムの本には書かれていませんねぇ。
それこそ,プログラマのひらめきで,最も重要なことかもしれません。

他の人を気にするより,実務に応用して行き詰まっているところを具体的に質問したほうが勉強になると思います。

fuk********さん

編集あり2009/1/1413:21:55

私は ExcelVBAマスター というほどではないですが、
半年程の勉強である程度実用的な物を作れるようになりました。

私の場合、簡単な「マクロ」から勉強していき、
どの様な命令で、どういう動きをするのかを勉強しました。
それから、コーディングの勉強を勉強して行きました。

どの様な本を読んだかはわかりませんが、本は暗記する程でなくても良く、
どの様な内容が書かれているかを理解する事が大事です。
また、インターネットでも十分に勉強になりますよ。

実用に生かすには、勉強した事を行なうよりも、
目的に対して、どのような処理をするかを調べる事が重要だと思います。

あわせて知りたい

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる