資料作るのにこんなに掛かるなんて思ってもなかった。
なんだかニヤけてましたけど
どっちかって言うと悩んでたんだけど
私にはどうやってもニヤけてるように見えましたけど、
新婚さんですもんね~。しょ~がないかぁ
早く用意しなきゃならない資料作りとかに時間が掛かって
参ったなと思ってたんだ
もっとチャチャって片付けば楽なんですけどね
二人揃ってなんだか悩み事があるみたいだけど
坂田さんが俺は仕事ができない男だ~。
って叫んでたんで慰めてたんです。
坂田君は相変わらず長谷川さんの手のひらで転がってるね。
確かに重要な資料ではあるけど、毎回手間が掛かる作業だね。
よし、分かった今回はそんな二人のためにExcelVBAを教えよう
作業を大幅に改善してくれるVBAって何?
まず、VBA とは何でしょうか?
VBAとは『Visual Basic for Applications(ビジュアル・ベーシック・フォー・アプリケーションズ)』
のことを言います。
なんだか難しいですね。
英語がだらけで何なのかよく分からないです。
VBAを簡単に言うと、「Excelを使ったプログラミング」のことです。
もう少しだけ詳しく言うと
「ビジュアル・ベーシック」というプログラミング言語をExcel・Word・Access・Internet Explorer
など、Microsoft製のソフトの作業を自動化してくれる設計図を書く作業
こんな風に思ってもらえば想像し易いでしょうか。
でも、聞いているだけでも難しそうです。
すごく簡単に出来るとは言えませんが、覚えられると「すごいヤツ」だと分かる機能なんですよ。
VBAのメリット・デメリット
今回は、デメリットから触れていきます。
- 「VBAは、簡単に覚えられます」は嘘
- ExcelやWordの基礎知識は必須
- ExcelやWordを使いこなせないと意味がない
- 「強い信念と根気強さ」がなければ、複雑な処理は出来ない
- 仕事として使う場合は、中途半端なものは評価されない
- 途中で挫折する可能性が高い
つづいては、メリットです。
- 会社で5分間パソコンの前で『爆睡』していても、上司から怒られません
- 重要かつ毎回行う処理が『爆速化』します
- しょっちゅう入力ミスをする「困ったちゃん」撲滅大作戦が成功します
- 「チョット分からないとすぐ聞いちゃうよ」症候群の人の完治が出来ます
- 「どうやって答えを出すのか分からない」石頭をサラサラパウダー頭に改善できます
最初から、やる気を削ぐような例でごめんなさい。
でも、私も幾つかシステム的なものを作ってきましたが、コレが現実です。
たくさんの失敗や挫折を経験して、ようやく少しは使えるものを作ることが
出来るようになった実体験から言えることです。
その一方でメリットが非常に大きいです。
覚えてしまえばコッチのもの。
隣で一生懸命作業している人を横目に
コーヒーブレイクをしていても、隣の人より圧倒的な量の仕事が終わります。
VBAのデメリットはどうして多いのか?
私は便利な方がいいからマスターしたいわ
確かに長谷川さんの言うことにも一理あるけど心配ないよ。
VBAは確かに簡単には覚えられない。コレは事実だよ。
①数行で動く簡単なマクロ
②多くの処理をする複雑なマクロ
それと「マクロ」っていうのは、プログラムのコードのことだよ。
「Hello World」という言葉を表示させる機能は、こんなに短いんだ。
Sub ようこそVBAの世界へ()
MsgBox "HelloWord"
End Sub
自分の操作を自動的にコードにしてくれる機能があるから
簡単だと言われる事が多いんだ。
私も苦労しないでマスターできちゃいますね。
間違った作業や要らない作業も記録してしまって処理が重くなりすぎたり、
記録できないこともあるから結局は自分で編集する必要が出てくる。
経験から言うと、自動記録の限界は比較的すぐにやってくるんだ。
じゃあ、他のデメリットも経験から言えることですか?
じゃないと、標準機能でできることをわざわざ作ってしまうなんていう
無駄が起こってしまうこともあるからね。
何でも基礎が大事なのは全ての事にも言えるわね。
最初からやりたいことがパッとできるようになるなんてことは、まず無い。
だから気持ちの部分がすごく大事になるんだ。
スポーツをやっていても最初から上手いなんてことはないからな。
いくら自分が一生懸命勉強していても、
仕事で使えなければ無駄な作業
としての評価しかされないんだ。
自分なりに業務の効率化が目的で仕事に取り入れても、
時間ばかり掛かって仕事が進まないなら、
そんなのやめろくらいのことは言われるよ。
当然だけど会社は勉強する所じゃなくて、
売上を上げなきゃいけないから効率が悪ければ、
無駄だと言われても当然かも知れない。
でも、VBAを取得しようとする人は将来に目を向けて取り組んでる
人も多いはずだから、強い信念だけは持っていてほしいんだ。
でも結果が出せなければ意味がないということは、
挫折していく人も自然と多くなっていく可能性が非常に高いんだ。
私も仕事をしていて、VBAを使いこなして仕事をしている人は聞いたことが無いわ。
すごすぎてついていけなかったよ。
それなりの覚悟を持って取り組むことが大切なんだってことを
実感してもらえたかな?
分かった気がします。
そう簡単にはいかないっていう覚悟が必要なことは分かったわ。
VBAのメリットは?
プログラミングの最大のメリットと言えば、作業の自動化だね。
具体的に何が便利なでしょうか?
売上額に関しては、カテゴリー別に日々入力しているデータがあるとしよう。
そのデータをピボットグラフにまとめて分かりやすい資料を作ることが目的だとすると、
普通に作業した場合と、VBAで処理した場合どれくらいの差が出るか考えてみよう。
目的:売上の推移を見て、問題点を洗い出し今後の対策を考える会議に使う資料作り
知りたいこと:店舗別の売上の推移と傾向
データの期間:1年間
売上データの種類:CSV
【作業工程】
- CSVデータをシステムからダウンロードする。
- CSVデータをテーブルとして設定する。
- データテーブルをピボットグラフに反映させる。
- 売り上げの傾向を分析して対策を考える。
私がやっている作業を基にもう少し条件を追加すると
- CSVデータは2種類用意する必要がある。
- 2種類のデータから、それぞれのデータを集めてきて1つの資料として用意する必要がある
- 以前作った資料があるので、手作業もVBAの処理も
CSVデータを加工→コピペ→ピボットの更新という流れは同じ
この条件を基に作業のスピードを見てみよう。
【手作業で資料を作った場合】
- CSVデータ①を開く→いらない列を削除タイトルをつける
- CSVデータ②を開く→いらない列を削除データ①に貼り付ける
- 以前作った資料を開いて、整理したデータを貼り付ける
- ピボットを更新して、内容が反映されたか確認する
【VBAで処理する場合】
- CSVを2種類用意する
- 以前作った資料を開いて処理用のボタンを押してCSVファイルを読み込む
- 5分待って完成
VBAで処理した方が早いし待ってるだけで仕事ができる。
上司だって怒るどころか処理してるところを見に来てくれるかも知れないね。
そうなんだ。使いたいデータだけを素直に出力してくれればもっと作業が早く済むんだけど
それは使いたい人によって違いがある。そうなると出力されたデータには無駄なものや足りないものが含まれている。
それを補って一つの資料にするには、不要な行の削除や調整・データの数によって掛かる時間は変わってくると言えるね。
私と坂田さんが同じ作業をしたって、スピードや正確性で差が出ますよね。
ところがVBAでの処理の場合、基本的な使い方とデータの用意さえできれば、
あとはボタンをポチッと押すだけあとは待ってるだけで資料を作ってくれるし、
ココに知識量の差は生まれないんだ。
データの量も多少処理に時間が掛かったとしても、
待ち時間が少し長くなるだけで手作業でやるよりも断然早い処理ができるのが最大のメリットだね。
チョット大げさには書いてるけど、コレはすごいメリットなんだ。
自分にとっても会社にとっても或いはお客様にとってもメリットはあるんだよ。
VBAに触れてみよう
じゃあ、実際にVBAでプログラムした出勤簿を操作してみよう。
ある程度使いこなせるとコレくらいのモノが作れるようになるよという例だね。機能について簡単に説明しよう。
実際の出勤簿も使ってみて下さい
※「コンテンツの有効化」というボタンが表示されたら、必ず押して下さい。
特にプログラムを入力しなくても良さそうな気がしますけど
ただ、管理している側は大変だったのと、使う側が使いやすいように工夫してみたんだよ。
- 普段変更の必要がない「各種項目の設定」は、【登録/修正】ボタンを押すことで修正可能にして普段は変更できないようにする。
- 【新規】ボタンを押すことで「シフト・時間」を簡単にリセット出来るようにすることで、毎月同じものを簡単に使える。
- 【提出保存】を押すとデスクトップに「氏名+日付」など、管理しやすい名前で自動的に保存することで使用者と管理者のストレスにならないように工夫した。
- 通常は、修正出来ないところを管理者だけは修正出来るように【修正】ボタンに暗証番号を設定して変更できる・出来ないをコントロールした。
- 時間の入力の時は、テンキーで入力することを想定して『10..00 → 10:00』に変更するように制御している。
色々と試行錯誤しながら使いやすさ重視で作ったんだ。
でも、使っている人にはそういう《機能》なんだってくらいにしか思われませんね。
特に女性はそういうリアクションだね。
「へぇ~」って言って貰えればOKって考えるのが良いと思うよ。
普通の人にはそれがどれだけ試行錯誤されているのかは分からないですよね。
職人技だから表からじゃ、ほぼ分からないよね。
精巧に出来た腕時計と同じ感覚なんじゃないかな。
日本は特に時間にうるさいから正確さは最重要。
でもどういう仕組できちんと動いているのかは詳しい人じゃないと分からない。
でも正確で質が良い時計はすごく需要があってみんな使っている。
つまり表から分からなくてもしっかりした物を作ることで信頼され、ときに頼られるのがプログラミングの本質というわけだね。
逆に目立つことが好きな人には向かないとも言えるのかな?
ひょっとしたら向かない場合もあるかもしれないけど、全てはやる気次第かな。
今回はメリット・デメリットについて触れてきたけど2人共分かってもらえたかな?
大変な部分もあるけど、出来上がった物を使ってもらえるのは楽しいかもしれませんね。
大変な分得るものは大きいからね。
まずは基本を抑えてVBAを使えるようになってみよう。
最後までお読みいただきありがとうございました。この記事が、少しでもお役に立てたら幸いです。
ご意見もいただけると励みになります。
それではまた、お会いしましょう。
コメントを残す