[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『どれくらいでどのような勉強方法でVBAを使えるようになったのか』(あお)
こんにちは、どうぞよろしくお願いいたします。
エクセルの学校の趣旨とずれているようでしたらご指摘ください。
掲題について、VBAの勉強方法・勉強時間です。
職務で必要に迫られVBAを2か月ほど勉強しているのですがなかなかに覚えが悪く思うようにいきません。
また、しょうがない、申し訳ないとわかっているのですがVBAのわかる先輩が忙しく、すべて「ググって」勉強したため命名規則やエラーハンドリングなども知識がない状態です。
先日それでも組み上げたVBAを提示したところほぼ跡形もなく訂正されていました。(訂正していただけるだけありがたいのですが)
心が弱いのはわかっているのですが、そのことを思い返すと今までわかっていたはずの関数などが呪文のように見えてきます。。。
ネットで勉強法を探しても怪しげなセミナーにたどり着くばかりで、
『皆様はどれくらいでどのような勉強方法で不自由なくVBAを使えるようになったのか』
をご教授いただけないでしょうか。
またご叱責いただければと思っています。
このような形で掲示板を使用してしまい本当にすみません。
#コードはお客様に提出するとのことで提示できません、重ね重ね申し訳ありません。
< 使用 Excel:Excel2016、使用 OS:Windows10 >
http://excel-ubara.com/excelvba1/
http://excelvba.pc-users.net/
(00) 2017/08/28(月) 11:57
インターネットなぞ無い時代からPCを使っているので、何でも自力で解決するしか方法がありませんでした(関数マニュアルが1冊付いて、それが全て)。それでも、1ヶ月もすると、自作でポーカーとか作れるようになりましたよ。 雑誌の元コード等をそのまま打っても、自分の環境がしょぼくて動かなかった(全部打てなかった)ので、全ての命令を理解し、どんなロジックなのかを理解し、だったら自分の環境ではどう書けば良いか、何度も試行錯誤してました。 完全自作ではないですが、最初は真似から入りましたね。
良いコーディングを書くのに必要な事は、考えること、調べることだと思います。 例えば、マクロの自動記録を使ってコード作成すると、なんだかとても長いものができあがりますよね。 その中で不要なものはどれか、必要なものはどれがを判断していくだけで、もし不要と思って消すと動かなくなるならば、それは不要ではない。 似た命令も同じだろう、と考えて、実際に調べたり、試す事です。
そして、全く同じコードが連続するのを、無駄、と考えられる感性。 逆に、ネットにあるコードや、回答者のコードを見て、何が良いと感じるか、悪いと感じるか。 こういう閃きが大事です。
セミナーや参考書は、一切アテにならない、というのが持論です。 それらは、主催者がストーリーを考えて、どういう処理をどうコーディングしていくかを教えるだけであり、自分が今直面している問題に適しているとは限らないからです。 更に言うと、ほとんど適していない、と思っています。 例えば、家計簿機能を作成するとか教えてもらえるとしても、自分の悩んでいる内容はそれじゃない!、と思いますから。 一連の手順を教えてもらえるので、コーディングが判った気持ちになり、自信が持てる、という効果はあると思いますが、そんなのは何度かやれば身につくことです。 今必要ではないが覚えた方が良い、というコードを次々にみるだけより、今これが必要!、どうやる?、という方法をお薦めします。
(???) 2017/08/28(月) 12:01
>???様
「良いコーディングを書くのに必要な事は、考えること、調べることだと思います。 」
ぐっときました。
VBAを見るのも嫌になっていてあきらめようかと思い悩んでいましたが、もう少し頑張ってみようと思います。
ありがとうございました。
(あお) 2017/08/28(月) 13:18
まぁ、今の世の中、Web検索すれば、きっと同じ問題で困った人が居るもんです。 調べてみれば、道は開けますよ。 開けなかったときは、また聞きに来てください。
(???) 2017/08/28(月) 13:32
> エラーハンドリングなども知識がない状態です。
エラー処理はあとから勉強で大丈夫です。
> 先日...VBAを提示...ほぼ跡形もなく訂正されていました。
これは良い教材です、なぜ直されたのか調べるのは良い勉強になると思います。
この「エクセルの学校」もフルに活用して、がんばってください。 (kazu3) 2017/08/28(月) 17:36
そんな中皆様からのあたたかいコメをいただき救われました。
勉強します。ありがとうございました。
(あお) 2017/08/29(火) 16:05
先輩から直されたというのはどのような部分ですか? 変数のネーミングだとか、エラー対応の漏れとかですか? それだったら余り気にする必要もないでしょう。 ちょっと気の利いたリファクタリングをして、 先輩風を吹かしているのかもです。
プログラマさんだったら、一般的なプログラム言語の基本はわかっているはずでしょうから、 Excel固有のオブジェクトに関する知識を深めればよいだけだと思います。
もっとも、「不自由なくVBAを使える」というのが何を指しているのか不明です。 WindowsAPI使いまくりの、クラスモジュール使いまくりで、 ユーザーインターフェイスもクールなものといったものを目指しているなら、 少し時間はかかるかもしれませんね。
そういうことなら、ある程度まで行ったら、 より低水準な別の言語を勉強したり、 総合的な知識がつけるほうが近道になるかもしれません。
VBAの世界のなかだけで工夫しても限界はあるでしょう。 むしろそういう経験のほうが、長い目で見れば重要かもしれません。 (余談ですが、こちらで活躍されている回答者さんのほとんどは、 VBAだけに詳しいのではなく、別の専門領域をお持ちの方だろうと想像。 そうした総合的な知識がバックにあるものと思料。)
これから長くIT関連業界で生きていくなら、 VBAの変数のネーミング基準なんか余り気にすることはなく、 もっとどっしり構えて、 幅広い技術を身につけるための一環くらいに考えて VBAに取り組んで下さい。
(γ) 2017/08/29(火) 20:59
時間はかかるでしょうが、こういうQ&Aサイトで提示された回答を試してみたり、 回答したりしていると、それなりのことは身に付くと思います。 ただ、プラスアルファがないと、私の様にそれで止まってしまいます。
回答者として活躍している(まっつわん)さんが、勉強中 だったころに返答したりもしましたが、 いまや(まっつわん)さんの方が、確実に数段上です。
追加 15:29 これも書いておいた方が良いのかな。 構造化プログラミング 極簡単に言うと、
初期処理 メイン処理 終了処理
の3つ。 私の中にプロは Function がお好き。という説がありますが、 これなんかがそうですね。
プロのコード読むとあちこち関数を呼び出すので、 めんどうくせーなー・・・。と、思うことしばしば。 で、私は趣味なので「ゴジラのふんどし」と呼ばれるコードが多い。
(BJ) 2017/08/30(水) 13:57
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.