先日、Twitterではけた氏の面白いツイートがありました。
3つの短い質問で相手のVBAの腕を判断するとしたら、何を聞くだろうか?
ちょっと考えてみよう。— はけた@Excel最高の学び方発売中 (@excelspeedup) 2018年11月6日
VBAの力量をはかる3つの質問を考えてみよう、というものです。
質問する際のシチュエーション等の縛りは無いので、私は「会社でExcel VBA案件を外注するときの面接」を想定して、3つの質問を考えてみました。
(そもそも外に出すほどのVBAマクロの開発案件があるのかどうかは置いておきます。)
うーん。
1.バージョン管理してますか?
2.ドキュメント残してますか?
3.これまで書いたマクロで一番大規模なものは?あたりかなー???
他にも聞きたいことはあるけれど、あとは回答によってその後の質問広げていけば?? https://t.co/kIheOjv1gH— きぬあさ (@kinuasa) 2018年11月8日
- バージョン管理してますか?
- ドキュメント残してますか?
- これまで書いたマクロで一番大規模なものは?
周知の通り、Excelマクロの場合、コードがファイルに埋め込まれているのでバージョン管理しづらいです。
結果として、「ファイル名(1).xlsm」「ファイル名(2).xlsm」「(日付)_ファイル名.xlsm」といったファイルが乱雑に生成され、どのファイルが最新で誰がどこに手を入れたのか分からなくなってしまうことも多々あるわけですが、そんな中、「テキストに落としてGitで管理しています」なんて回答がくると、心の中でいいね!ボタンを押したくなります。
もちろんGitにこだわる必要は無いので、いつ・誰が・どこに手を入れたのかが分かるような工夫をしているかどうか、この辺りを聞くことで、相手がどのような意識でもってマクロの管理をしているのかを判別できます。
私の経験上、VBAマクロで大掛かりなものを作ることはあまりないのですが、業務で使用するマクロを開発する上で重要だと思っているのが“ドキュメントを残すこと”です。
コードの内容はもちろんですが、(1)いつ、誰からの依頼でマクロを作ったのか、(2)誰がマクロを使っているのか、(3)何のためにマクロを作ったのか、そういった経緯も含めて残しておかないと、数年後自分が苦労することになります。
マクロを書いて何年か経った後、ユーザー部門から「ウチで使ってるこのマクロなんだけど・・・」なんて相談がきたとき、何の資料も残っていないと、「えっ?なにそれ!?全然覚えが無いんだけど・・・」、自分が書いたマクロにも関わらず←こうなります。
しっかりしたドキュメントでなくても、依頼された時のメールを印刷したもの、簡単なメモ書き、そんな程度でも構いません。
何かしら残っていないと自分(もしくは後任の誰か)が苦労することになります(戒め)。
私としては上2つの質問さえ聞ければ後は適当に雑談でも良いと思うのですが、話を広げるためにもザックリと答えやすい質問も考えてみました。
WordやOutlookといった他のOfficeアプリケーションと連携するマクロ、Internet Explorerを操作するマクロ、SQL Server等のDBと連携するマクロ等々、VBAでは幅広い処理を行える分、様々な回答が期待でき、そこから次の質問へと繋げやすいのではないかと思います。
以上のように、私はあくまでも業務利用を前提とした質問を考えてみたのですが、下記のような質問を考えた方もいらっしゃいました。
(1)マクロ作るとき、自動記録とコーディングの割合は?
(2)function使う?どういうとき使う?
(3)配列使う?どんな場面で使う?
— しょうた ?? Excel改造マニア経理マン / PC・漫画ヲタ (@shota_Excellent) 2018年11月6日
これ3つしか聞けないんですよね、難しい~。
大量データ管理ならAccess、グラフならExcel、文書ならWordといったように各々のソフトが得意な事を活かせるコードが書けるか。
これを3つの質問に落とし込むの悩みます。。。 https://t.co/K331jtUpLd— むぎ (@muginooyado) 2018年11月6日
むぎさんはブログ記事も書かれています。
様々な観点があって実に面白いです!
この記事へのコメントはありません。