- ベストアンサー
みなさんに質問させていただきます。
みなさんに質問させていただきます。 VBAなど、プログラムに精通してらっしゃる方は、どのような方法で、習得されたのでしょうか? 独学で、専門学校で、大学で、あるいは、○○教室などででしょうか? いろんなケースがあるとは思いますが、簡単にお聞かせください。 独学で習得するのは、難しいことなのでしょうか? 個々の能力にも関係するとは思いますが、知りたいと思います。 よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
少し、口を挟ませていただきます。ここの掲示板でお聞きになっても、あまり具体的な内容はないようです。ここでは、質問者が入門なら、回答者も初級以下の方が多いです。そのほうが好まれるようです。なお、VBAの初級というのは、サブルーチン・動的配列変数までは使えるレベルのことを指しています。VB.Net やVB6の書籍を購入して、すぐにスタート出来るレベルのことです。 私は、最初、パソコンスクールでは、ビデオが20分くらいで、後は、2時間程度、記録マクロ程度しかやりませんでした。当時は、家には、MS-Office もWindowsパソコンもありませんでした。紙の上でコードを書いたことはありますが、それでは覚えませんでした。 その数年後、某掲示板で、私が、他人の質問でマクロについて口を出し、誤解が元でトラブルに巻き込まれて、こちらがVBAが詳しくなかったことが災いしバッシングを受けたのが、最初のキッカケです。 それと、ご質問者さんのVBAのコードを貼り付けて、全部説明してください、なんて書いたら、出直してこいと言われても仕方がないぐらいの厳しさは掲示板にあってもよいと思います。 勉強法ですが、 『かんたんプログラミング Excel2000 VBA 基礎編,コントロール・関数編,応用編』技術評論社 大村あつし著(シリーズ3冊)。この本に出会わなかったらVBAを覚えたか分かりません。 最初の1度目は丁寧に読み、次から辞書のようにして使い、3度回目に読み終わったぐらいで、ほぼ入門レベルは覚えました(つもり)。ちなみに、多くのプロで執筆している人は、みな、独学で覚えたように書いています。だいたい、500題問題を休みなく解くと、一通り覚えるようです。インターネットで覚えたというような人は、穴だらけで、実務では使えないです。覚えの早い人で、3ヶ月。プログラミングの経験のない人は1年は掛かります。性別や年齢はほとんど関係ありません。しかし、それよりもまして、他人に教えることでなく、プログラミングが好きかどうかによって、モノになるかが決まってきます。 学習指針としては、 http://vbae.odyssey-com.co.jp/vbae/kamoku.html VBAエキスパートで、Basic, Standard, Professional と追っていってもよいと思いますが、試験のための勉強はプログラミングには役に立たないと思います。 ある人は、VBAで、だいたい3年でプロになっています。VB.Net やC++の知識は必須です。3年とは言ってもプロは気の遠くなるような高い壁です。非常に特例な一人だと思います。 私は、その後、一旦、Ver.2002に移り、Ver.95(5)のVBA, Ver.4 のマクロ関数を学び、次に、VB6 を一通り入門程度は勉強しました。特に、Ver.5のマクロのテクニックは大事だと思います。また、VB6のコントロールの『新Visual Basic入門 Ver.6.0対応 (Visual Basic6.0実用マスターシリーズ)』 林晴比古著 は、今のOffice VBAには、必要になってきます。 もうひとつの参考書としては、マイクロソフトの『Visual Basic Ver.6 プログラマーズガイド』など、他にはない、学習資料があります。(日本語版はたぶん入手不可。英語版は入手可能かもしれません。)これはMSDNの元の内容です。VBAに関わらず、プログラミングは英語が読めたほうが良いです。また、『Win32 APIプログラミング入門』エーアイ出版 大村あつし(入手可)も必要になってくることがあります。 なお、私が時々書く記表に関しては、MicrosoftのMSDNを参考にしています。サポートサイトには素人のような方もいます。しかし、必ずしも、チャールズ・シモニーののハンガリアン記表を参考にしているわけではありません。 コードひとつまともに書けない人が人に教えるなんてことは、正常なことだとは思えません。パソコンスクールでも、初歩的な組込み定数の使用法やクラスの概念がきちんと言えない講師さえいます。掲示板でも、カウンタ変数の使い方や、VBAのコンパイルの意味さえ知らない回答者もいるようです。ここで続けるのもよいのですが、よく人の見極めが必要だと思います。あまりにも、回答者に振り回されすぎている質問者がいます。一定の基準を持たないからです。出来れば、一定の基準や一定の書法で教わったほうがよいです。それができなければ、一定の基準が身につくまでは、掲示板やサイトを参考にしないで、MSDNと自学学習のほうが良いと思います。
その他の回答 (4)
- layy
- ベストアンサー率23% (292/1222)
ここの回答者を見てると感じるところがあると思います。それぞれ自分で作成できなんらかの解決方法を持ってます。自分で悩み、調べ、モノにした積み重ねかと思います。 コマンド使う、関数使う、ファイル操作する、セル操作する、等どの手段が適しているかも分かっているし、うまくいかなくてもどうしたらいいか、どこから探るとヒントがあるか、ほかの手段はないか、VBAを操るっていう感覚でしょうか。 作るからにはおかしいときの解き方も分かってる。前述のデバッグです。解き方も知っているからちょっと自信ない理解してないモノ、他人が作った初めて見るモノ、投稿でも解ける。 聞いたこと調べたことは確実に自分のモノ、財産にしましょう。 なるほどそうなんだーの繰り返しです。 結果重視では、関数やコマンドすべて覚える必要なし、駆使する必要なし、でしょう。捜し方使い方知っておくのが大事。ネットで捜す、本見る、ヘルプ見る、があり、今は人に聞くだけでないですね。 人から答えだけ聞いて満足している人は、あれができたらこれもできるでしょ?という次のステップで何もできなくて慌てること多いです。そこでまた同じく人に答えだけ聞くのか、今度はやり方解き方まで聞くのか、このあたりで差が出るのではないでしょうか。 早い段階でこの質問はいいことだし、ほかのエクセル始めたばかりの人のためにも成果を見せましょう。
お礼
そうですね。 まずは、基本の基本をきっちりと習得して、順を追って習得するようにします。 苦手なところや、わかりにくいところは、避けて先に進んだりしないよう、一から勉強してみます。 助言してくださってありがとうございました。
- kmetu
- ベストアンサー率41% (562/1346)
独学でも別に難しくは無いと思います ようはやる気です。 ただし、人に聞けばすぐ解決することでも独学では1日費やす可能性はあります。 ただ人に聞くより自分で解決したほうが身に付くこともあるでしょうし、一日費やすうちの他のノウハウが自然に仕入れられると言うこともあるでしょう。 何度も言うようですが、やる気があればどんな方法でもやれます。
- imogasi
- ベストアンサー率27% (4737/17069)
独学については難しいと思います。 英語と似ていると思います。 (1)使う機会がない。使おうにも、単語(VBAではオブジェクト、メソッド、プロパティなど)が貧弱 なままになり勝ち。その単語を使うシチュエーションが経験できない。 単語暗記だけでは会話スキルは身に付きにくいように、VBAも用語解説的なものだけでは身に付きにくい。 (2)使っても、それが正しいかどうか判らない。VBAはプログラムを実行するとエラーか結果がおかしいか旨く動くかだが、やり方などは我流か・低レベルかどうかは指摘してもらえない。 (3)あるプログラムで行き詰まったとき、打開のため聞く相手がいない。 (4)新しい知識を得るのに、本かWEBになるが、本はそのうち行き詰まる。本など皆同じような内容に見えてくる。講習会などで目を開かせてもらわないと、レベルはそのままになる。 ーー しかし10年前に質問回答を始めた当時に比べ、今ではVBAの質問は大変増えています。勉強してそこそこまで行っている人も増えているのでしょう。 世の中には独習でそこそこまでやれると言う人も居ると思う。若い人、好きな人だろうと思う。 しつこくやらないとダメなように思う。
補足
よく、お目にかかるお名前ですが、imogasiさんは、どのように習得されたのでしょうか? 始まりは、どこからでしょうか? 専門的な学校でしょうか? お聞かせください。
- aokii
- ベストアンサー率23% (5210/22062)
全てのコマンドを一度は実際に使ってプログラムを組んでみる。 独学で習得するのは、難しいことではありません。 逆に、人に聞いても、教室に通っても、実際には身に付きません。
お礼
詳しく習得の経緯を教えてくださってありがとうございます。 多分、思い出したくない事もあったかと思います。 まずは、シリーズ3冊があるか調べてみようと思います。 それよりも今回で、Excel関数をもっと習得しなければ前に進めない事を実感したので、 そちらに重点を置いて勉強していきたいと思います。 貴重な助言を無駄にしないようにします。 ありがとうございました。