VBA勉強会レポート Vol.2

benkyokai

VBA勉強会は、我が社のエンジニアが直面するorしている「現場あるある」を題材とし、私が25年のキャリアで経験した「修羅場」を可能な限り再現し、その修羅場をどの様に潜り抜けて来たのか、ストーリー仕立ての講義となっています。多くの方に興味を持ってもらい、そして現場で役立てて欲しいと思いを込め、第5回VBA勉強会をレポートします。


1.今回のテーマと内容

今回のテーマは「超簡単マクロを体験しよう」です。そもそも「マクロってなんじゃ?」「マシュマロなら知ってる!」と言う方は少ないと思うのですが、念のためマクロを簡単に説明します。
マクロとは、コンピューターに複数・複雑な操作を記録させ、自動的に処理させる技術の総称であり、マクロVisual Basic for Applications(VBA)で記録させます。このマクロをどの様に記録させるのか、そしてどの様に活用するのかを今回も学習(ミッションコンプリート)していこうと思います。

1-1.適材適所 エクセルは機能と関数とマクロを組み合わせて使いきれ!

6回の講義もいよいよ終盤となり第5回目です。今まで、マクロ機能VBA言語を中心に進められてきた当勉強会。ん?でも、ちょっと待ってください。エクセルってプログラム開発ツールでは無いですよね?ここで、素面になってください。
そう、エクセルは、表計算アプリケーションじゃないですか!ということは、エクセルをフルに使って本領を発揮させるには、エクセルの主な3大要素「機能」「関数」「VBA」それぞれの得意な分野をうまく使い分けられた時になります。
それならば、講義の集大成として、週報作成というストーリーを楽しみながら、使い分けについて、演習で実際に経験してしまいましょう!という内容になります。
それでは、超簡単マクロを体験するミッション(勉強会)へ出発しましょう!


2.今週も終わったぁ!..え?!開発週報を提出せよ!?

今回のお題となるミッションは「開発週報の作成を突然頼まれた」でした。ストーリーとしては、アサインされたアプリケーション開発PJのリーダーが、突然「俺忙しいから、直ぐに部長に出す今週の開発週報を作成して!」と指示をしてきます。しかし、リーダー自身が、毎週末になると担当者を巻き込みながら凄く時間をかけてやっていた作業です。
しかも、今直ぐ出せって…と言うものです。
前回に引き続き、受講者は「いきなり?…そんなことってある?」と疑問の表情を浮かべています。でも、残念ながら、これ・・・実話なんです。
人的リソースが枯渇している現場では、この様に集計や資料をまとめる作業を「後回し」にする傾向があり、入場してきたばかりで、業務が割り振られていない人に対応して貰おうと丸投げ!…なんて事があるのです。
もう分ってますよね?そう、ここでパフォーマンスを発揮して、「わぉ、やるな!」と思わせるビッグチャンスです!
さて、どうやってこのミッションをコンプリートするのか、勉強会講義を覗いてみましょう。

2-1.現場リーダーの作業の中身って…?

今まで、リーダーは何をしていたかというと、週報は毎週末、毎回フリーフォーマットの文章で、今週起こった事。失敗したこと。課題。懸念事項。テスト結果。思いつくまま書き並べていました。そして、担当者は、リーダーの思いつくまま、必要と言われたデータ出しやまとめ作業を強いられていたんです。しかし、時間をかけて作成した週報を部長さんに提出すると決まって「何を伝えたいんだ。進捗がさっぱり分からん!」と怒鳴られ続けてました。それを見る度に、担当者達は、「必死で手伝ったのに意味ないじゃん。俺たちの週末を返せ!」と疲弊してしまっていました。

というストーリーを聞きながら、深く、ふかーく 頷いている受講生が居ます。そこ。ちょっと共感し過ぎじゃない?
今回の週報作成には、進捗を「数値化」「視覚化」することによる報告書の「視認性」を高めるという裏ミッションもあります。部長さんも訳の分からない文章を長々と読まされた挙句、何も分からない。よりは、一目見て一発で理解出来た方が嬉しいに決まっていますよね。

勉強会ではサンプルとなる週報フォーマットと参照するデータや資料が用意されており、講師から受講者へ全3章で構成されている週報フォーマットについて、それぞれの章毎に、異なる作成方針が示されています。みなさんはというと「なんだ。なんだ。今までの講義とちょっと違うぞ」というリアクションですね。それこそ「百聞は一見に如かず」。心配しないで、エクセル機能の使い分けに取り掛かりましょう。

開発の現場には、いろいろなデータが散在しています。一つ一つはそれぞれにまとめられていて、関係者だけは知っている。という状況なのですよね。じゃ!それを週報にまとめてしまいましょう。
週報の章1については、リンク貼り付けの機能を活用します。元となるデータはこちら

「リンク貼り付け機能にも、利用するための作法があることを知っていますか?」と講師が訪ねます。受講生は、「へ?貼り付けるだけじゃんね?」と、周りの人と顔を合わせながら、「ちょっと何言ってるか分からない」という感じです。
「リンク貼り付け機能は、保存場所(パス)、フォルダ、ファイル名、グラフ、表の位置 が、固定で変化しない対象物に適しています。覚えておいてください。知らずに使うと苦労しますよ。」と講師が言うと、どんな内容なんだろう?と、みなさん真剣な眼差し。講義が続きます。
週報の貼り付け位置はこちら。一斉にリンク貼り付け作業を開始しましょう。

参加者は、声を掛け合い、ある人は補助講師にヘルプを求めながら、作業を完了させました。これで、毎週張り替えることなく、リアルタイムに最新のタスク進捗状況が表示されるようになりましたね。

ここで豆知識、「リンク貼り付けって、イマイチ分からない」と思っている方が多いのではないでしょうか?

その原因の一つが、このメッセージ。次に週報ファイルを開いた時に、このようなポップアップメッセージが表示されます。実はこれ、他のブックにリンクしている情報があると、必ず表示することになっているのです。これは、エクセルの仕様なので、全く気にしないで[続行]を押せば良いんです。何の問題もなく、データは更新されるので、心配御無用。
「ほほーーー」 みんな納得ですね。さぁ!この勢いで週報の章2に行きましょう!次は、結合テストの報告エリアです。
週報の貼り付け位置はこちらです。

元データは、こちら。早速、縮小したり、画像としてコピーして、貼り付けして・・大忙し!

ヨシ!みんな完成しましたね。

2-2.危ない!csvMSのファイルじゃない。

そして、流れるように、ラストの章3の作成です。今度の元データのイメージが、こちらなのですけれど・・・

実は、これ。フェイク画面です。実際は、専用のDBにブラウザーでアクセスしているイメージです。
(参考にしたのは、Redmineですね)その、「プロジェクト管理ができるソフトウェア」の機能で、必要な情報を拡張子が 「csv」のファイル形式で、定期的に、指定フォルダにエクスポートしている環境だと仮定します。

はい。ここで またまた。みなさんに豆知識です。csvファイルは、実はマイクロソフトのエクセルのファイルではないって知っていましたか?

誤って、ダブルクリックしてエクセルで開いて、[保存]をしてしまうとエクセルの属性情報が、勝手に組み込まれた別ファイルになってしまうのです。ですので、必ず「メモ帳」もしくは、エディターで開いて下さいね。
「えーー!?」「嘘つきじゃん!」今日イチ ザワ付いてますね。 そう!絶対に騙されてはいけません。

まだ、ザワザワしたままですけど、講義は本題に戻ります・・・
さて、今回はcsvファイルをデータ取り込み機能で、インポートしますよ。ほら。頭を切り替えて作業開始!

みなさん設定操作に苦労していますね。間違えないように、必死です。

そして、何とか完成!

2-3.こんなことまで出来るの?データをリアルタイムに反映。「いっせーのせっ!」

安心したのも束の間。講師から「元データのcsvファイルを開いて数字を変更してください」との指示です。みなさん頭に「??」が、出ていますが、言われるがまま・・・変更しています。

「合図をしたら一斉に上書き保存しますよー。準備は良いですか!!いっせーの・・・せっ!」全員が慌てて「せっ!」で保存します。「ポチッ」とな。「反映タイミングを1分に設定したので待ちましょう。」何が起こるのだろう。ソワソワ ワクワクしながらみんなで待ちます。
「あ!自動で更新された!」

みなさん更新出来ましたか?「はい。更新されました」「こっちも来ました」「変わりました!」・・・大盛り上がりですね。中には「変わりませーん」という人も。講師が確認すると「あはは。設定が10分になっているから待つ?」「いや、すいません1分に変えてください」と、失笑の場面も。「ほら!変わった」無事に全員出来ましたね。

[テキストまたは CSVから]読み込み 機能には、他にも、様々な設定が用意されています。「csv」ファイルをインターフェイスにして、DB(ほぼ)リアルタイム読み込みが簡単に出来ることを知識として知っておくだけでも、いろいろな場面で、エクセルの活用の幅が広がりますよね。
ということで、ようやく週報が完成しました。

今まで毎週末あたふたと、ふとっちょリーダーが大騒ぎし、振り回されて、毎週、フォーマットもバラバラで、その時、気づいた事を文章にする形式で、しかも毎度、緊急で、様々なデータ集めさせらされていたみんなも大感激!
報告される方も、フォーマット(報告内容、表、グラフ)が決まっているので、毎週、進捗が理解しやすいですね。
これこそが、プロフェッショナルの週報なのだと、受講者も感激していました。

※懇切丁寧なテキストと、途中に差し込まれえている「うさぎの“うさらい”」が可愛くて好評ですが、今回は新キャラ!ウーパールーパーの“うーぺい”が登場しています。意外や、こちらも大人気!



3.神の一手!

しかし、ここで終わらないのが、我が社の勉強会ですよね。「ここまでは一流のエンジニア。ここからが超一流のやることです!」…などとは言っていませんが、一つ先を考えて行動する「神の一手」まで講義します。

3-1.まだまだ、この程度で、効率化は終わらせない。

ここまでのポイントは、エクセルの機能、関数が得意とするところは、それらに任せる。という内容でした。その上で、どうにもならないところは、マクロ機能VBA言語にやってもらいましょうということ。まずMISSION9でやった内容を振り返ってみて下さい。面倒な作業が残っていませんか?そう!章2であたふた作業したあの部分です。

「もう。しっかり成果を出した後です。余裕が出来たこのタイミングで、時間をかけずにノンプログラミングで、簡単に効率化マクロを使って、もっと楽しますよ。」この講師の一言に、受講生のみなさんの目がキラキラ輝き出しました。腕まくりしている人もいますね。モチベーションマックス!さぁ始めましょう。週報の章2は、ここでしたね。

ここに、みなさんは、元データのグラフと表を縮小させたり枠をつけたり、体裁を整えながら貼り付けました。「みなさん、作業ステップ数は・・かなりの工程でしたけど、毎週、同じ作業をやりたいですか?」参加者の一人が「嫌です!」とキッパリ!「それはそうですよね。誰もやりたくないです。さっきの作業手順はまだ、覚えていますよね?では、全部マクロに任せちゃいましょう。」

マクロの名前は、“週報の図”としておきましょう。[OK]ボタンを押してください。マクロ記憶の開始!

「やるぞー!」と、勢いよくMISSION9で行った同じ作業を全員がグングン進めていきます。しばらくすると、みなさんから、「やってやったぜ」という満足感が伝わってきました。全員終わったみたいです。
では、マクロの記憶を終了しましょう。

作りっぱなしでは勿体ないので、講義では下記のように、自動記憶されたVBA言語プログラムの汎用性を高め、合わせて終了のポップアップメッセージが表示されるようにコードを打ち込んだり、とっても便利な「おまじない」のコードを組み込んだりしました。詳しくは、講義を受講して頂くしかないのですが、やけにみんな楽しそうでしたよ。

今までの講義で、お馴染みとなったボタンも作成しました。これで準備万端ですね!

さぁ!押してみましょう。

「はや!」 「すご!」 「おおおー」 教室が擬音の嵐です。

3-2.神の降臨 瞬殺!

ふとっちょリーダーは、たたき台を作成して担当に依頼するまでで、60分以上かかってましたが、(その後、あーでもないこーでもないで、みんなが巻き込まれて対応する時間は入れません。)
今度は、ボタンを押すだけなので1分で完了ですね。


4.次回予告

いよいよ、次回が最終回!テーマは「ステートメントで遊ぼう♪」です。最後の最後に、とうとう制御構文を使ったプログラムを体験してもらいますよ。そして、今まで頑張ってきたみなさんが、その実力を発揮する最終テストもあります。
本当のフルミッションコンプリートを目指して、みんな頑張りましょう!


5.受講者の声と評価

今回の参加人数26名、辛口の受講者アンケートでは、満足度が平均「94.5点」を獲得し、「丁寧な説明で分かりやすかった。」「VBAだけでなくExcelの知識まで幅広く吸収できて満足だった!」「業務で使える知識が多く学べました。!」など、多くの評価を頂きました。
また、講義後に講師の元へは「業務でこんなことに使ってみました!」「次回も楽しみです!」など、受講者が現場で活躍出来ている状況や、もっともっと向上したいと言う意欲が報告されています。


6.勉強会で伝えたい事

Microsoft製品であるExcelは、IT業界であればどの様な業務にも広く用いられており、Excelの操作一つで「パフォーマンスが高い・低い」と言われるほどです。このExcelは表計算ソフトとして「機能」「関数」「VBA」で構成されており、その中で最も効率化に用いられる「マクロ」機能を学んでもらう為に、この勉強会を開催しています。
また、マクロ機能は単に「記録」「再生」するだけでは処理が期待値に届かない事も多く、一般書籍ではマクロ機能のみでは効率化が図れず、VBAプログラミングが必要とされています。しかしながら、この勉強会ではテキストには操作手順を画像で紹介し、StepByStepの演習を行う事で確実に理解できるようにし、マクロ機能の「コツ」や「作法」をお伝えする事で、簡単かつ効率的に処理を行い、初心者でも楽しく技術を身につけられる様に工夫し、現場で活躍できる事を目指しています。一緒にプロフェッショナルを目指して頑張りましょう!!

本勉強会は、メイン講師2名・補助講師3名によって構成しており、受講者からの質問や問い合わせにも手厚く対応しています。ぜひ、見学に来てね!!

私たちは、全てのエンジニアに市場価値を高め自身の望む理想のキャリアを歩んでいただきたいと考えています。もし、今あなたが転職を検討しているのであればこちらの記事をご一読ください。理想のキャリアを実現するためのヒントが見つかるはずです。

『技術力』と『人間力』を高め市場価値の高いエンジニアを目指しませんか?

私たちは「技術力」だけでなく「人間力」の向上をもって遙かに高い水準の成果を出し、関わる全ての人々に感動を与え続ける集団でありたいと考えています。

高い水準で仕事を進めていただくためにも、弊社では次のような環境を用意しています。

  • 定年までIT業界で働くためのスキル(技術力、人間力)が身につく支援
  • 「給与が上がらない」を解消する6ヶ月に1度の明確な人事評価制度
  • 平均残業時間17時間!毎週の稼動確認を徹底しているから実現できる働きやすい環境

現在、株式会社ボールドでは「キャリア採用」のエントリーを受付中です。

まずは以下のボタンより弊社の紹介をご覧いただき、あなたの望むキャリアビジョンをエントリーフォームより詳しくお聞かせください。