VBAと日々のこぼれ話

  1. 雑談

VBAの腕を知るための3つの短い質問を考える

始まりはTwitter

 

え、3つしか駄目なのー!?

でもこんな風に制限ある中で最大の成果を上げるためにはどうすればいいのか考えるお題って楽しい!なんて初めは気楽に考えていました。

ですが悩むほど考えがまとまらずにうんうん唸っていて、ふと気が付きました。

この3つの質問は回答者のスキルを測るのが主目的ですが、質問内容如で必然的に質問者(私)のスキルが測られているのでは・・・

お、恐ろしい。

私が考えた3つの質問

それでは早速。

1.VBAの勉強に参考書は利用しましたか?利用していれば、そのタイトルをいくつでも挙げてください。
2.開発時にイミディエイトウィンドウやプロパティウィンドウをどの程度使っていますか?
3.今までに作ったVBAツールで一番の力作の概要を教えてください。

内訳は、1は基礎の確認・2及び3は経験やスキル確認の質問です。

出来る限りの意図を持たせ、何より一生懸命考えたのでへっぽこな質問だと思ってもぬるく見てやってください。

各々の質問の意図

VBAの勉強に参考書は利用しましたか?

基礎はどうやって身に付けたのかの確認です。

独学の場合、基礎学習は紙(電子書籍でも可)の技術書で学習するのを私は推奨しています。もちろん、Web情報が悪いと言う訳ではありません。

Webは、検索性・携帯性(ネットに繋がればいつでもどこでも)・更新性(情報の新しさやその速度という意味で使っています)は圧倒的で、紙媒体はまず勝てません。

ですが、Webの情報は最新技術だとかニッチなものが多いです。

また手軽に情報が発信できるため、間違った情報・省略されている情報というのも数多くあります。

何より初心者はそもそも必要な情報が何かよく分かっていないことも多く、分かったとしても(無料・有料問わず)優良サイトにたどり着けるのかという問題もあります。

対して紙媒体の参考書は、コストをかけてまでわざわざ紙で出版・容易に書き換えができない・情報の責任がはっきりしているため質が高い傾向があります。また、そもそも入門書はその物事を始めたい人に必要な基礎情報が一冊にまとめられているので一冊で一通りの情報を得ることができます。

VBAの入門書でいうと「VBAとは?」「VBEの使い方」「基本構文」「基本構文+α」といった感じでしょうか。

更に各々のプログラミング言語の基本的な部分というのは、よほどのことがない限り更新されることなく古くなって使えないことはありません。

(バージョンアップによる機能追加には追い付けませんが、基礎段階では必要のない情報であることが多いです)

このことから基礎学習には紙媒体の技術書をお勧めしますし、紙媒体で学習している=基礎知識は目に通している(身についたかは別)と判断できる訳です。

読んだ本のタイトルを挙げるようにしていますが、正直、入門書は大体同じようなことが書いてあるのでしっかりと理解できていれば冊数は1冊でも構わないと思います。ただ基礎知識でも著者によってフォーカスの当て方が違うので複数冊読んでいた方が知識の厚みが出るので沢山読んでいると『知識はありそうだな』という感想を持ちます。

【スポンサーリンク】



イミディエイトウィンドウやプロパティウィンドウをどの程度使っていますか?

今までに作ったVBAツールで一番の力作の概要を教えてください。

この二つの質問で以下の内容を確認しています。

・不測の事態(エラーやワーニング)への対応力があるか
・作業手順書を作ることができるか
・机上ではなく実際にマクロを組めるか
・VBEを使いこなせているか
・具体的なVBA技量はどのくらいか

 

不測の事態(エラーやワーニング)への対応力

『イミディエイトウィンドウ』『プロパティウィンドウ』と具体的に名前を挙げそれらをどの程度使えるか、たった3つしか質問できないのにそのうちの1つを使ってまで質問するようなことなのかと思われそうですが、私はこの2つのウィンドウを使いこなせていればVBAを使えると言って良いと思います。

これは本職で開発の仕事をしているからこそより強く思うのでしょうがエラーや不具合に対処できる力は正常処理のコードが書ける以上に重要な力だと思っているからです。

そもそもエラー処理は、紙媒体・Webでも情報が少なく、机上では学びづらい部分です。それは仕様によってどんなエラーが起こり得るのかが全く違うから仕方ない部分でもあり経験がものをいう場所だからです。不測の事態が起こらないように取り溢しのないように考慮し、あるいは発生したらそれら不具合を取り除くというのは言葉で書くと簡単ですが、(ある程度のパターンはあれど)最終的には自分で考えてコードを書かなければならないので実際は本当に大変です。

ですから、その不測の事態に対処する力を持っているというのは『VBAを使える』という一つの物差しになるわけです。

 

作業手順書を作ることができるか

VBA特有の技能ではないですが、日本語で作業手順書が作成できなければそもそもプログラミングはできません
ここではプログラミングに落とし込める考え方が出来るのかを確認したいので、アウトプットととして作業手順書(仕様書)を作成したことがあるかは関係ありません。きちんと相手に自分の作った処理の概要が説明できるかが重要です。

作ったツールの概要を説明できる=作業手順書っぽいものを作る力があるとみなすいった感じでしょうか。

 

机上ではなく実際にマクロを組めるか
VBEを使いこなせているか

開発エディタを使いこなせるというのは、開発効率や綺麗な(可読性が高い)コードを書くのに重要です。
第一、同じコードを書くのであればなるべく楽をしたいですしね。

また先ほどの不測の事態に対応できるかでも書きましたが、机上で勉強しているか実践しているかこの経験値の有無は大きいため絶対知りたい部分です。

イミディエイトウィンドウやプロパティウィンドウの利用の仕方である程度VBEへの習熟度が測れます。

 

具体的なVBA技量

『一番の力作』と指定しているので、回答者の中で一番難易度が高かった(興味をもって取り組んだ)ものを挙げてくると思います。

つまり回答者の最大値の確認をしています。

仕事の面接だと3はよく聞かれる質問じゃないでしょうかね。転職時の面接に、業務経験に関する質問を訊ねられるのと同じ感覚です。

 

【スポンサーリンク】



雑談の最近記事

  1. 【VBA】未だに苦手としていること

  2. VBAの腕を知るための3つの短い質問を考える

  3. ほんのりRPG風自己紹介

関連記事

【スポンサーリンク】




PAGE TOP