VBA勉強会レポート Vol.1

benkyokai

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


1.今回のテーマと内容

今回のテーマは「超簡単マクロを体験しよう」です。そもそも「マクロってなんじゃ?」「マグロなら知ってる!」と言う方は少ないと思うのですが、念のためマクロを簡単に説明します

マクロとは、コンピューターに複数・複雑な操作を記録させ、自動的に処理させる技術の総称であり、マクロはVisual Basic for Applications(VBA)で記録させます。このマクロをどの様に記録させるのか、そしてどの様に利用するのかを今回は学習(ミッションコンプリート)していこうと思います。それでは、超簡単マクロを体験するミッション(勉強会)へ出発!

1-1.むちゃぶり集計依頼に対応せよ!!テキストP218

今回のお題となるミッションは「集計依頼」でした。ストーリーとしては、アプリケーション開発PJにアサインされ、PJメンバーへの挨拶を終えると突然、「早速ですが直ぐにテスト結果の〇×件数を出し進捗を報告してください!」と指示を受けましたが、なんとテスト結果はExcel50ブック・500シートにも及んでいた…と言うものです。

受講者は「入場初日、しかも挨拶が終わった直後に…ある?」と疑問の表情を浮かべていましたが、これがあるのです。人的リソースが枯渇している現場では、この様に集計や資料をまとめる作業を「後回し」にする傾向があり、助っ人として入場してきた人に対応して貰いたくてウズウズ…なんて事はよくあるのです。しかも、入場初日からパフォーマンスを発揮し「おお、すごい!」と思わせる事が出来るチャンスでもあり、このチャンスをものにすれば、その後の業務や人間関係もスムーズになるビッグチャンスでもあるんです!

さて、どうやってこのミッションをコンプリートするのか、勉強会講義を覗いてみましょう。

①もし手作業で実施したら…?

まず、テスト結果のExcelを確認してみます。どの様に結果が表示され、まとめられているのかを知る事が大事。敵を知り己を知れば、百戦危うからずって事ですね!勉強会ではサンプルとなるExcelが用意されており、講師から受講者へ手動で集計を促し、「よしよし、ハンドスピードなら負けないぞ!えいっ!そりゃ!!」とみんな我こそはと取り掛かています。

もし手作業で処理したら…?の講義テキスト抜粋

単純作業ではあるものの、5シートの処理に受講者は平均1分程度必要でした。つまり、500シートある訳ですから、このまま手作業で進めると100(1時間40)もかかってしまい、更に、手作業でのコピー&ペーストする訳ですから、正しいかのチェックも必要です。これでは「おお!すごい!」ではなく「まだ終わらないのですか?」と言われてしまう可能性も…。

そこで、マクロを用いて効率的かつ正確に自動処理させ、依頼者を唸らせようって魂胆なのね。

②プロフェッショナルは効率化と正確さを兼ねそろえる!

「さぁ、マクロを実践してみましょう」と言う講師の言葉に、「待ってました!」と言わんばかりの受講生の目の色。どの様にマクロを登録するのか、テキストに従って手順説明が行われ、実際にマクロを登録していきます。

マクロ登録方法のテキスト抜粋

※懇切丁寧なテキストと、途中に差し込まれえている「うさぎの“うさらい”」が可愛くて好評です。そして、回を追うごとに可愛いキャラクターが増えていくんです。これを楽しみに受けている人も居るとか居ないとか。

↑この子たち。

③マクロを用いた処理の行方は…?

一通りの手順説明および操作が完了し、登録したマクロで同じ処理を計測してみました。その結果、なんと5シートに対して僅か20秒で処理が完了!つまり…20(秒)×100(シート)÷60()=33.3()

となり、手作業で行うよりも1時間ほど早く終わり、更に!自動処理なのでコピー&ペーストミスなどもなく完成!

これこそが、プロフェッショナルの業なのだと、受講者も感激していました。

1-2.神の一手!

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

①まだまだ、この程度で、効率化は終わらせない。

神の一手のポイントは、まずMISSION7でやったように、時間をかけずにノンプログラミングで、簡単に効率化マクロを使って、しっかり成果を出した後に、余裕が出来たタイミングで行うという点なんです。「成果が出るか分からないことに時間は貰えないでしょ?逆に成果出てれば、誰も文句は言わないよね。その隙に?次のバージョンアップのための時間を稼ぐ。もっと楽するぞ!」この講師の一言に、受講生のみなさんの

目がキラキラ輝き出しました。深く頷いている方もいますね。モチベーションマックス!さぁ始めますよ。

と、その前に、MISSION7で実現した効率化の概要を振り返っておきましょう。2つのブック合わせて5シートにアクセスして、データを取りに行く・・これ面倒くさいですよね?講義では、1ブックにつき、サマリーシートを1つ追加して、そこに1ブック内の全データを関数で集約させる方法と2ブックにアクセスして一瞬で集計してくれるマクロを作れば・・・

そう!これで50ブック500シートの評価結果の集計は、MISSION7だと500シート巡回する必要があったのが、1/1050回で済んじゃうんです。早速、みんなで一緒にマクロを作成に取り掛かります。

まずは、「マクロ記録」ボタンを押します。ここから、みんなで記録したい操作を行っていきます。成績書1ブックを選択して、「サマリー」シートの評価データをコピーしたら、

次に、集計ブックを選択して、「サマリー(全体)」シートに値の貼り付けをします。

これを、成績書2でも繰り返したら、[記録終了]でマクロの記録を終了。

ここで、自動作成されたコードを確認してみます。コードはVisual BasicEditor)のModule1にあります。

講義では、プログラムを1行づつ(ステップ)実行させて、コードの動作を全員で確認していきます。ここでは、省略しますが、ブレーク、ステップ実行など、デバッグの仕方も講義で教えていますから安心してくださいね。

そして、赤字部分を手入力して、プログラムが完成。でも、まだ、みなさんはプログラムを通して実行していないので、なんとも半信半疑の顔つきですね。新規にボタンを作成して、このプログラムを登録して、全ての準備が完了しました!

②神の降臨 秒殺!

さぁ!いよいよ、みんなで一斉に、作成した「全体集計」ボタンを押します。「せーの!ポチッ!」すると・・ 一瞬で処理は終了!秒殺!自分で打ち込んだMsgBoxコードが動作してメッセージボックスがポップアップし、処理の完了を教えてくれました。

受講者の「おーーーーーーー!」「わぉ!」などの歓声とどよめきから、みなさんの感動が伝わってきます。


2.次回予告

次回のテーマは「開発週報の作成」です。プロジェクトの週報作成をむちゃぶりされますが、そこはプロフェッショナルの技と神の一手でミッションコンプリートを目指しましょう!乞うご期待!


3.受講者の声と評価

今回の参加人数26、辛口の受講者アンケートでは、満足度が平均「94.7点」を獲得し、「楽しく学習する事が出来た!」「現場ですぐ使えそう!」「マクロを理解出来た!」など、多くの評価を頂きました。

また、講義後に講師の元へは「効率化出来ました!」「更なる一手を教えてください!」など、受講者が現場で活躍出来ている状況や、もっともっと向上したいと言う意欲が報告されています。


4.勉強会で伝えたい事

Microsoft製品であるExcelは、IT業界であればどの様な業務にも広く用いられており、Excelの操作一つで「パフォーマンスが高い・低い」と言われるほどです。このExcelは表計算ソフトとして「機能」「関数」「VBA」で構成されており、その中で最も効率化に用いられる「マクロ」機能を学んでもらう為に、この勉強会を開催しています。

また、マクロ機能は単に「記録」「再生」するだけでは処理が期待値に届かない事も多く、一般書籍ではマクロ機能のみでは効率化が図れず、VBAプログラミングが必要とされています。しかしながら、この勉強会ではテキストには操作手順を画像で紹介し、StepByStepの演習を行う事で確実に理解できるようにし、マクロ機能の「コツ」や「作法」をお伝えする事で、簡単かつ効率的に処理を行い、初心者でも楽しく技術を身につけられる様に工夫し、現場で活躍できる事を目指してます。

一緒にプロフェッショナルを目指して頑張りましょう!!

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

 

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

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

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

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

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

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

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