• ベストアンサー

マクロが一人前?

日常的にマクロを使っている方に質問なのですが、 どういうマクロをどの程度のレベルで自作できれば、 「マクロが一人前」と言えるのですか? たとえば、モーグのVBA基礎講座↓程度では http://www.moug.net/skillup/index.htm 基礎的すぎて「できる」というほとではないと思います。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんばんは。 最初に、私の書いたのは、私個人の考えで、その発言に公共性はありません。人によって考え方が違いますから、あまり、真っ正直に受け取らないようにしてください。 「マクロが一人前」というのは、もしも、将棋や囲碁と同じような「段付け」という考え方があれば、とりあえず一人前は「初段」だと思います。私が思うのは、一応、上級文法の動的配列やオートメーション・オブジェクトを知っているレベルで使いこなせるようになれば、VBAを知っていると言えますし、それは、「マクロ道」なら、1級です。 知識もさることながら、経験値で使いこなし、Excelだけでなく、Word、Lookup、Access のVBAを使いこなせるレベルが、初段だと思います。どうしても、3年ぐらい真面目に勉強しないと、そのぐらいにはならないと思います。時々、VBAで、「アルゴリズムが必要」という人がいますが、まったく違った経験値という言葉でしか言い表せないようなものがあるような気がします。VB専門の人が、どうしても書けないコードがあります。論理やアルゴリズムではないものが存在します。VBA独特の癖というか、制限された世界が存在します。また、Excelでいうと、基本関数のだいたいを、VBAコードで書き表せるレベルだと思います。 その上に入ると、VBAは、当然、大元の、VB6 の知識までが入りますが、人によっては、DAO・ADOなどデータベースをVBAで扱えるレベルを指すこともあります。VBAの外から、または、VBAから外に向かっていく扱うようになるのが、2段レベルに入るかもしれません。Win32 APIなどを使いこなせるレベルが、ここらに入ります。Cの知識も徐々に必要になります。ここらになると、Office Applicationを越えていきます。場合によっては、ある程度、覚えた段階で、すぐにここに入ってしまう人がいます。ただ、それでは全体的な技術が不足してしまいます。 今、VBAは、それに代わる新しいVSTA を横目に見るような状態ですから、一挙に、過去の技術ということになりかねません。Office Developer の全機能やVSTO を扱うのも、ここらに入るのではないでしょうか?COM(Component Object Model)は、OLE(Object Linking and Embedding) やDDE(Dynamic Data Exchange)の上位にあたるものですが、未だ、工業界のマクロでは、DDEが、未だ登場してきます。つまり、過去から近未来までをサポートし、他の言語を含めて、VBAを使いこなすようになれば、3段レベルかもしれません。また、英語のヘルプやサポートは問題なく読めるという条件も加わってきます。Officeのバイナリレベルが扱えるようになるのが、ここらだと思います。もう、VBA自体では困ることがなくなっているはずです。 これは、アマチュアのレベルの世界の話で、それ以上の世界は、Office VBA という範疇はなくなってしまうものだと思います。

その他の回答 (2)

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.3

#1のWendy02です。ちょっと思い出したことですが、  「エラー処理がきちんとできて、一人前」 という言葉があります。どんなにテクニックがあっても、どんなに難しいことを知っていても、エラー処理がきちんとできない人は、一人前にはなれません。

  • taocat
  • ベストアンサー率61% (191/310)
回答No.2

こんばんは。 何を持って一人前というかは基準がありませんので一口では言えませんが、 敢えて言えば、例えば、質問者提示のサイトの「ExcelVBA質問」板の質問に、 90%以上正確に回答できたら一人前と言えるのかも知れません。 また、 >どの程度のレベルで自作できれば一人前? これについては、例えば、以下のような簡単な販売管理を、 レイアウト、プログラム、テストランを含め「一週間」ほどで 完璧に仕上げることができたらある意味「一人前」と言ってもいいかも 1.マスタ作成(得意先、商品、担当) 2.データ入力(売上、入金) 3.データチェックリスト(売上、入金) 4.集計表(日報、月報、入金予定表) 5.〆日毎請求書(請求雛形シートに作成) 6.請求残高更新&データ整理 (条件) 上記全てで「UserForm」を使用すること プリントするものは画面での確認もできること 「一人前」になる一番の近道は、OJTと日々の精進だと考えます。 以上です。

関連するQ&A