VBAを習いたいのはどんな人?
私は個人レッスンなどの形でエクセルVBAを教えています。そこに来るお客さんは、プログラマーを目指す人ではありません。小さな会社で事務や経理をやっている40代~50代の女性が比較的多くなっています。
手作業を繰り返しているのをなんとかしたい
私の講座を受けてくれたTさんは、取引先から送られてきた伝票を経理システム入力する仕事をしています。取引先のA社、B社から来る伝票はそのまま入力できるのですが、C社やD社の伝票はフォーマットが違うので加工が必要です。
エクセル表を開いて、手作業でコピーやカットやペーストを繰り返してフォーマットを整えています。毎月だったか毎日だったか忘れましたが。
Tさんの職場は10人程度の小さな事務所なので情シス部門などありません。パソコンにちょっとだけ詳しい人が1人いる程度です。そこでTさんは作業を自動化できないか、と思って私に習いに来ました。
誰も修正できないマクロをなんとかしたい
別の女性、Sさんの職場でも似たような表の処理をやっていました。そこでは、エクセルにVBAのマクロが入っていて使っています。でも、それを作った人は辞めてしまいました。
その後マクロに修正が必要になったのですが誰も修正できません。社外に頼むと1回のちょっとした修正でも何万円もかかってしまいます。
そこで自分で修正できるようになりたい、とSさんは私に習いに来たのでした。
VBAなら事務のおばちゃんでもなんとかなる
TさんもSさんもプログラマーになりたいわけではありません。VBA職人になりたいわけではありません。事務のおばちゃんです。目の前にある表を自動編集したいだけです。
もしも彼女たちが「〇〇ツールを使いましょう。まずはインストールしてください」と言われたらどうでしょうか。きっとその時点で諦めることでしょう。ツールのインストールや設定やバージョンアップ時の不具合に対応できる人が会社にいませんから。
こんなときに使えるのはエクセルVBAしかありません。こんなときのために必要な言語だと思っています。
ちなみに、彼女たちはJAVAに関しては私よりも得意なようです。私はあまり風呂釜掃除はしないので。
クソコードを蔓延させたくない
私はプログラミングの基本的な考え方とその処理に必要なコマンドなどを教えています。なるべくあとでメンテしやすいような作りにして、適切なコメントも入れるように言っています。でも1回や2回講座を受けたところで、すぐにちゃんと作れるようにはなりません。
講座のあとから、「エラーになっちゃいました」という質問メールが来るので、私がアドバイスしたり、コードを修正したりしてサポートしています。
TさんやSさんのような人たちが作ったプログラムは、ITエンジニアが見れば初心者のクソコードです。「クソコードを蔓延させている」と言われたら否定できません。
でも彼女たちは、職場の仕事を効率化させようと考えている意識の高い有用な社員です。休みの日に時間を割いて、自腹を切って私に習いに来るのです。プログラマーじゃないのに。その姿勢は見習うべきだと思っています。
私は彼女たちがなるべく良いVBAプログラムを作れるように教えています。「クソコード」がせめて「おウンチコード」になるように(一緒じゃん?!)
あべっかんでした。
コメント
ゆたぽん
たまにコラムを拝見しています。
今回も読まさせて頂きましたが・・・・。
このコラム一本で、VBAのネタを出し尽くしちゃってませんか?しかも、なんか内容がhorusさんのコラムなぞって書いてるみたいです。
Horusさんのコラムでは、同じ対象でも色々な角度から見れるので、同じVBAのコラムでも何本も書いています。
あべっかんさんのコラムではそいうのがありません。
うまく言葉にできませんが・・・知ってることをただ並べているだけというか。メッセージみたいなものがないみたいです。読んでも納得するものがないです。
Horusさんに限らず、他のコラムニストでもそうなんですが。言いたいことっていうんでしょうか。そういうのがはっきり感じます。
プロフィールに書いてた http://abekkan.com/ これを見たんだけど、VBAの講座とかブログの書き方の講座とかいろいろやってるみたいですね。
どちらの味方をするというわけじゃないけど、私ならあべっかっさんのVBA講座よりHorusさんのコラムで紹介してた本買うかな。
abekkan
>ゆたぽんさん
私はこのエンジニアライフではVBAについていろいろ書いて行こうとは思っていません。
VBAに関してどう考えて何をやっているのかを示しておいたほうがよさそうだと思って今回のコラムは書きました。メッセージを出そうとは今回は思っていませんでした。
あと、私のVBA講座はITエンジニア向けではありません。ITエンジニアまたはITエンジニアを目指す人は本を読んで基礎をきちんと押さえて学習したほうがいいですね。
メッセージを伝えられていないというゆたぽんさんのご指摘、ありがとうございます。そう感じられていたんだ、というのを肝に銘じて、メッセージ性のあるコラムにしていきたいと思います。
コメントありがとうございました。
なんかな
記事を読んで不思議に思ったのはJAVAが分かるのにツールやインストーやがわからないおばさんとはどんな人なのか。JAVAが分かるのにVBA程度がわからないとはどんなおばさんなのか。
仮に Javascript だとしても不思議です。近頃RPAが話題になっていますが、具体的な状況を見ていないのでわかりませんが、伝票のフォーマットの違いくらぐらいならVBAを使わないでもできるかもしれません。簡単な処理のためにVBAを使用してしまうと将来面倒になると考えています。
そろりそろり
「VBAなら事務のおばちゃんでもなんとかなる」とか、40から50代の女性を馬鹿にしすぎなのでは?
事務やっている女性は普通にVBAくらい使いこなせていますよ。
未だにメール設定すら出来ない30から60代の男性のほうが圧倒的に多い世の中なのですよ。
世間知らずなことを自覚して、もう少し考えてからものを書いた方が良いと思います。
abekkan
>なんかなさん
JAVAのくだりはオヤジギャグでした。
風呂釜掃除のジャバの認知度が落ちてきたので通じませんでしたね。
abekkan
>そろりそろりさん
普通にエクセルの関数を使いこなせている人は多いのですが、私が知るIT系以外の会社の事務職では、VBAを使えない人やVBAという言葉すら知らない人が多いと感じています。統計データがあるわけではありませんが。
ゆたぽん
すごい剣幕で喧嘩売っておいて、
> 私はこのエンジニアライフではVBAについていろいろ書いて行こうとは思っていません。
って、VBAの知識も言いたいこともない。日頃の活動報告って・・・・。
理由もないその場の感情をぶつけられたんだから、真面目にコラム書いている人だったら激怒するよね。読んでる人も返答に期待はしてたと思う。そんないい加減なひとにメッセージを発信するのは無理だとおもう。
> あと、私のVBA講座はITエンジニア向けではありません。
じゃぁ、あべっかんさんのコラムもエンジニアライフ向けじゃないね。http://abekkan.com/ これのプロフィールに「エンジニアライフのコラムニスト」って大きく書いてブログ講座を宣伝してます。コメント読む限り、生徒にコラムを見てもらえればよくて、エンジニアなんてどうでもよかったかのようにも受け取れる。
あと、ご自身の書かれたコラム、「おウンチコラム」って言われたらどういう気分になるかな。
人にものを教える資格もないと思います。
abekkan
>ゆたぽんさん
失礼いたしました
おじじ
VBAがすんごいのは、ウインドウズAPIをいじくれるところです。
逆に、OSとしてウインドウズの動きを、VBAから制御できるということです。
なので、こんなにイージーなプログラミングで、操作できるなんて諸刃の剣っぽいんだ。
ただ、ここまでプログラミングに上達したら、ほかの言語を斜め読みで読み取れるようにもなると思います。
そこから、ほかの言語を覚えたくなると思うし、やってみればよしで、VBAは登竜門的な言語かなあ。
ななし
JAVAは懐かしかったですね。綴りコレで合ってるんですかね(笑)
辛辣なコメントが多いですが
私は普通に読めたので問題ないです(何が
色々な切り口があるのと思うので
今度は営業目線でお願いします。
※VBAはそろそろ飽きてきましたが
匿名
前に宣伝に使うな的なことを書いたものです。
ゆたぽんさんに追従する訳ではないのですが、
コラムニストだと名乗るのも自由だし、講座とか開いて小銭稼ぎするのも結構だとは思いますが、
エンジニア向けでは無いのならここで書く必要はないのではと改めて思いました。
他の方と比べて基本的に宣伝目的のコラムを書いているようなものが多々見受けられる認識です。
abekkan
>おじじさん
VBAでやろうと思えばいろいろなことができます。けれどやりすぎは危険なのでおっしゃるとおり諸刃の剣です。
表の編集のみにしておいたほうがよいとは思います。
abekkan
>ななしさん
容器にはカタカナで「ジャバ」って書いてあるのでJAVAじゃないのかもしれません。。。
コメントありがとうございました。
abekkan
>匿名さん
宣伝ばかりになってしまっていたのは良くなかったと思っています。
すみません。
もともとはコラムタイトルのとおり、「IT(技術)を日常生活に活かそう」の内容で始めました。
ずっと書いているうちにいろいろなネタを使うようになってきましたが、
もとの路線からあまりはずれないようにしたいです。