VBA を紹介したい。VBAとはVisual Basic for Applicationsの略であり、マイクロソフト社のソフトウェアであるエクセルやアクセスで使うプログラミング言語だ。エクセルのVBAを覚えて活用できるようになると、エクセルをつかった仕事を自動化することがてきる。
プログラムとは、コンピュータへの命令を記述したものであり、プログラムを書いてコンピューターに指示を与えるのがプログラミングである。
指示とは、
「この計算をしなさい。答えが条件に合うならばコピーしなさい。そして、このセルに貼り付けをしなさい。一つ下の行に移りなさい。さっき行った作業を10回繰り返しなさい」
こういったものだ。
プログラミングは、決まったルールのもとで行われること、繰り返し行われることに活用すると威力を発揮する。要するに定型業務に強いのだ。
プログラミングといわれると、難しくてとっつきにくいように感じるかもしないが、その想像よりかは難しくないと私は思う。
わたしたちが、業務を効率化するためにつかうだけであれば、深くまで知る必要もなく基本的なところだけを学べばよい。基本的なことをおさえて簡単なプログラムを書くだけでも、十分に業務に役立てることができる。
VBAを活用できる品質管理の業務
「この計算をしなさい。答えが条件に合うならばコピーしなさい。そして、このセルに貼り付けをしなさい。一つ下の行に移りなさい。さっき行った作業を10回繰り返しなさい」といった命令、指示をあらかじめ定めておき、ボタンを押せばあとはコンピューターが自動でその作業を行ってくれる。
私がVBAを活用してより速く処理できるようになった業務には、次のようなものがある。
製品の配合表の作成
原材料メーカーからもらった原材料の規格書から、自社商品の配合表をまとめる業務がある。メーカの規格書がエクセルファイルであるときには、この作業を自動化。
また、一度使った原材料の配合データは一覧にしておき、再度使用するときは、そこから自動でコピーして自社製品の配合表を作成できるようにした。
食品表示の作成
作成した配合表から、一括表示の原材料名の順番を作成する。
使用原材料の一覧表を作成しておく。新しい配合表をつくるときには、原材料名と配合量だけは手で入力し、ボタンを押すと、製品の配合表ができあがる。食品表示の原材料名の表記の仕方については、自分の目でチェックして、修正する箇所があれば修正する。さきほどとは別のボタンを押せは、原材料名の順番を作成することができるようにした。
VBAと手動のミックスといった感じだ。
会議の議事録
会議で議題にしたことに関するデータの概要を、議事録にも記載しなければならなかった。もともと会議の中で配布した資料にそのデータは記載されているので、そちらを見ればいいのだが、議事録にも書かなくてはならなかったのだ。
「これは別紙を見ればわかることだから議事録に書くのはムダなので」と言って、書かないことにしてしまい無くしてしまえば一番手っ取り早かったのだが、私は下位の者であったのでそれはできなかった。単にコピーをするだけだがいくらかの時間がかかってしまっていた。
そこで役に立ったのがVBAだ。別紙の資料はエクセルで作成されていた。データの主要部分だけを抜き出して、議事録に貼りつける。これをボタンを押すだけでできるようにした。
クレームの集計データ資料の作成
これも上記と同じだ。もともと他にあるデータをコピーしてきて貼りつける作業だ。これも自動でできた。パソコン画面でマウスとキーボードをつかって、決まったやり方のコピー&ペースのような作業であれば、自動化できるはずと思う。
どのくらいの勉強時間で使えるようになるか
週末土日に5時間程度、VBAの本を読みながらパソコンに向かい、手を動かした。それを1ヵ月行ったところで、上記の業務でVBAを活用できるようになった。
つまり、40時間くらいの学習時間である。
その程度でいちおうは活用できるようにはなる。ただし、難しいプログラムを組むにはさらに勉強していく必要があるが。
VBAを学ぶ本
VBAを覚えようと思って一番最初に選んだ本では、わからないことだらけで挫折してしまった。そもそもVBAでどういうことができるのかがイメージが湧かない。
しばらくして、最初に紐解いた本とは別の本を手にとってみた。
Excel VBAプログラミングの入門書(日経BP Next ICT選書)を見てイメージをつかみ、Excel VBAのプログラミングのツボとコツがゼッタイにわかる本を読みながら手も動かして練習したら基本を理解することができた。
同じシリーズのデバッグ力でスキルアップ! Excel VBAのプログラミングのツボとコツがゼッタイにわかる本も読み、業務で活用できるくらいまでにはなった。
エクセルを用いた業務において、決まったルールで繰り返し行う作業があればVBAを覚えて活用してみるのはどうだろう。
コメント