2019/11/5)TweetPocketVBA勉強会は、我が社のエンジニアが直面するorしている「現場あるある」を題材とし、私が25年のキャリアで経験した「修羅場」を可能な限り再現し、その修羅場をどの様に潜り抜けて来たのか、ストーリー仕立ての講義となっています。多くの方に興味を持ってもらい、そして現場で役立てて欲しいと思いを込め、第4回VBA勉強会をレポートします。今回のテーマは「超簡単マクロを体験しよう」です。そもそも「マクロってなんじゃ?」「マグロなら知ってる!」と言う方は少ないと思うのですが、念のためマクロを簡単に説明します。Applications(VBA)で記録させます。このマクロをどの様に記録させるのか、そしてどの様に利用するのかを今回は学習(ミッションコンプリート)していこうと思います。それでは、超簡単マクロを体験するミッション(勉強会)へ出発!1-1.むちゃぶり集計依頼に対応せよ!!テキストP2~18今回のお題となるミッションは「集計依頼」でした。ストーリーとしては、アプリケーション開発PJにアサインされ、PJメンバーへの挨拶を終えると突然、「早速ですが直ぐにテスト結果の〇×件数を出し進捗を報告してください!」と指示を受けましたが、なんとテスト結果はExcel50ブック・500シートにも及んでいた...と言うものです。受講者は「入場初日、しかも挨拶が終わった直後に...ある?」と疑問の表情を浮かべていましたが、これがあるのです。人的リソースが枯渇している現場では、この様に集計や資料をまとめる作業を「後回し」にする傾向があり、助っ人として入場してきた人に対応して貰いたくてウズウズ...なんて事はよくあるのです。入場初日からパフォーマンスを発揮し「おお、すごい!」と思わせる事が出来るチャンスでもあり、このチャンスをものにすれば、その後の業務や人間関係もスムーズになるビッグチャンスでもあるんです!さて、どうやってこのミッションをコンプリートするのか、勉強会講義を覗いてみましょう。1もし手作業で実施したら...?まず、テスト結果のExcelを確認してみます。どの様に結果が表示され、まとめられているのかを知る事が大事。敵を知り己を知れば、百戦危うからずって事ですね!勉強会ではサンプルとなるExcelが用意されており、講師から受講者へ手動で集計を促し、「よしよし、ハンドスピードなら負けないぞ!えいっ!そりゃ!!」とみんな我こそはと取り掛かています。単純作業ではあるものの、5シートの処理に受講者は平均1分程度必要でした。500シートある訳ですから、このまま手作業で進めると100分(1時間40分)もかかってしまい、更に、手作業でのコピー&ペーストする訳ですから、正しいかのチェックも必要です。これでは「おお!すごい!」ではなく「まだ終わらないのですか?」と言われてしまう可能性も...。そこで、マクロを用いて効率的かつ正確に自動処理させ、依頼者を唸らせようって魂胆なのね。2プロフェッショナルは効率化と正確さを兼ねそろえる!「さぁ、マクロを実践してみましょう」と言う講師の言葉に、「待ってました!」と言わんばかりの受講生の目の色。どの様にマクロを登録するのか、テキストに従って手順説明が行われ、実際にマクロを登録していきます。※懇切丁寧なテキストと、途中に差し込まれえている「うさぎの“うさらい”」が可愛くて好評です。回を追うごとに可愛いキャラクターが増えていくんです。これを楽しみに受けている人も居るとか居ないとか。3マクロを用いた処理の行方は...?一通りの手順説明および操作が完了し、登録したマクロで同じ処理を計測してみました。その結果、なんと5シートに対して僅か20秒で処理が完了!つまり...20(秒)×100(シート)÷60(秒)=33.3(分)となり、手作業で行うよりも1時間ほど早く終わり、更に!自動処理なのでコピー&ペーストミスなどもなく完成!これこそが、プロフェッショナルの業なのだと、受講者も感激していました。1-2.神の一手!しかし、ここで終わらないのが、我が社の勉強会。「ここまでは一流のエンジニア。ここからが超一流のやることです!」...などとは言ってませんが、一つ先を考えて行動する「神の一手」まで講義します。1まだまだ、この程度で、効率化は終わらせない。神の一手のポイントは、まずMISSION7でやったように、時間をかけずにノンプログラミングで、簡単に効率化マクロを使って、しっかり成果を出した後に、余裕が出来たタイミングで行うという点なんです。「成果が出るか分からないことに時間は貰えないでしょ?逆に成果出てれば、誰も文句は言わないよね。その隙に?次のバージョンアップのための時間を稼ぐ。楽するぞ!」この講師の一言に、受講生のみなさんの目がキラキラ輝き出しました。深く頷いている方もいますね。モチベーションマックス!さぁ始めますよ。その前に、MISSION7で実現した効率化の概要を振り返っておきましょう。2つのブック合わせて5シートにアクセスして、データを取りに行く・・これ面倒くさいですよね?講義では、1ブックにつき、サマリーシートを1つ追加して、そこに1ブック内の全データを関数で集約させる方法と2ブックにアクセスして一瞬で集計してくれるマクロを作れば・・・そう!これで50ブック500シートの評価結果の集計は、MISSION7だと500シート巡回する必要があったのが、1/10の50回で済んじゃうんです。みんなで一緒にマクロを作成に取り掛かります。「マクロ記録」ボタンを押します。ここから、みんなで記録したい操作を行っていきます。次に、集計ブックを選択して、「サマリー(全体)」シートに値の貼り付けをします。これを、成績書2でも繰り返したら、[記録終了]でマクロの記録を終了。ここで、自動作成されたコードを確認してみます。Basic(Editor)のModule1にあります。講義では、プログラムを1行づつ(ステップ)実行させて、コードの動作を全員で確認していきます。ここでは、省略しますが、ブレーク、ステップ実行など、デバッグの仕方も講義で教えていますから安心してくださいね。赤字部分を手入力して、プログラムが完成。みなさんはプログラムを通して実行していないので、なんとも半信半疑の顔つきですね。秒殺!さぁ!いよいよ、みんなで一斉に、作成した「全体集計」ボタンを押します。一瞬で処理は終了!秒殺!自分で打ち込んだMsgBoxコードが動作してメッセージボックスがポップアップし、処理の完了を教えてくれました。受講者の「おーーーーーーー!」「わぉ!」などの歓声とどよめきから、みなさんの感動が伝わってきます。次回のテーマは「開発週報の作成」です。今回の参加人数26名、辛口の受講者アンケートでは、満足度が平均「94.7点」を獲得し、「楽しく学習する事が出来た!」「現場ですぐ使えそう!」「マクロを理解出来た!」など、多くの評価を頂きました。講義後に講師の元へは「効率化出来ました!」「更なる一手を教えてください!」など、受講者が現場で活躍出来ている状況や、もっともっと向上したいと言う意欲が報告されています。4.勉強会で伝えたい事Microsoft製品であるExcelは、IT業界であればどの様な業務にも広く用いられており、Excelの操作一つで「パフォーマンスが高い・低い」と言われるほどです。VBA」で構成されており、その中で最も効率化に用いられる「マクロ」機能を学んでもらう為に、この勉強会を開催しています。マクロ機能は単に「記録」「再生」するだけでは処理が期待値に届かない事も多く、一般書籍ではマクロ機能のみでは効率化が図れず、VBAプログラミングが必要とされています。この勉強会ではテキストには操作手順を画像で紹介し、StepByStepの演習を行う事で確実に理解できるようにし、マクロ機能の「コツ」や「作法」をお伝えする事で、簡単かつ効率的に処理を行い、初心者でも楽しく技術を身につけられる様に工夫し、現場で活躍できる事を目指してます。一緒にプロフェッショナルを目指して頑張りましょう!!本勉強会は、メイン講師2名・補助講師3名(2019年10月現在)によって構成しており、受講者からの質問や問い合わせにも手厚く対応しています。見学に来てね!!私たちは、全てのエンジニアに市場価値を高め自身の望む理想のキャリアを歩んでいただきたいと考えています。今あなたが転職を検討しているのであればこちらの記事をご一読ください。理想のキャリアを実現するためのヒントが見つかるはずです。『技術力』と『人間力』を高め市場価値の高いエンジニアを目指しませんか?私たちは「技術力」だけでなく「人間力」の向上をもって遙かに高い水準の成果を出し、関わる全ての人々に感動を与え続ける集団でありたいと考えています。高い水準で仕事を進めていただくためにも、弊社では次のような環境を用意しています。ボールドでは「キャリア採用」のエントリーを受付中です。以下のボタンより弊社の紹介をご覧いただき、あなたの望むキャリアビジョンをエントリーフォームより詳しくお聞かせください。プログラミング言語とインフラでのインスタンスって?2020.01.15IT業界ヘルプデスクに転職したい。