こんにちは!Lenocoです。本日も見てくださりありがとうございます。
以前、新卒で入社会社の新人研修の記事②で、「Excel VBAを勉強したときの仕事環境がとても良かったです」ということをちらっとお伝えしたのですが、
今回はその時のことについてお話します!
Excel VBAを勉強し始めるきっかけとなった会社に入社した時の話
過去の経歴を見てもらうと分かるのですが、
都内のある人材ソリューションサービスの会社に約5年勤めていました。
そこでは正社員として採用されたのですが、
ある部署で、Excelに特化した事務員の派遣サービスを展開しており、
わたしはそのメンバーとして様々な現場へ行き、Excelに関する業務支援をしていました。
5年間で4カ所の現場へ行くことができ、
お客様さま先の業界も業務内容も様々で、たくさんのことを勉強することができました。
入社したときのわたしの状況
情報処理の専門学校を出たあと、ソフトウェア開発の会社に新卒で入社し、
その後オーストラリアへの留学、アルバイトなどを経て中途入社した会社だったのですが、
入社当初はたいしてExcelが得意だったわけではありませんでした。
幸い、専門学校で取得したExcelや情報処理の資格などがあったため入社することができましたが、
普通の人より、少しExcelの関数を知っているかな、くらいのレベルでした。
入社したときの部署の状況
わたしが入社したとき、そのサービスは立ち上げの段階で、
メンバーの人数もまだ10人も居ないくらいでした。
女性社員がほとんどで、様々なタイプの女性がいたため、かなり華やかな印象の部署でした。
(その後この部署はどんどん拡大を続け、わたしが退職するまでには、メンバーの人数は軽く100人を超えていました!)
最初のころは、営業さんが頑張ってお客様先を開拓している段階だったので、
わたしたちメンバーは現場を選べる立場ではなく、とりあえずアポがとれた会社に面接に行き、
面接で合格すればその現場に行ってお仕事をする、という流れでした。
(その後お客様先がどんどん増えてくると、メンバーたちにも仕事内容や家からの距離などである程度融通もきかせてくれるようになりましたが、最初は有無をいわさず!という感じでした)
わたしはというと、現場の希望としては「英語を使う仕事ができる場所」としていました。
ですが、それはなかなか難しく、大手日系コンサル企業への配属となりました。
基本的に本人の希望での異動はない!と言われていて、当時悲しかったのを覚えています 笑
(でもそれも、本人のレベルが上がってきたり、お客様先が増えてきたりして、のちのち改善していきました)
立ち上げのタイミングだったので、営業さんもメンバーも何かと慌ただしくしていました(特に営業さん)。
初めての現場での仕事内容
大手の日系コンサル企業への無期限配属となり、英語を使う機会はなさそうだな・・とちょっぴり残念だなと思った反面、
大手企業へ就職したことがなかったわたしは、そこの会社の規模・きれいなオフィス・社員数の多さにとても驚き、テンションがあがっていました。
そこの会社ではわたしは派遣社員という扱いとなり、社員証を発行してもらったり、PCを貸与してもらい、オフィスの案内などしてもらいました。
「これからここの会社に毎日通うんだ・・(*’ω’*)」と、緊張と期待と入り混じり、まるでそこの会社に入社したような気持ちになっていました 笑(勘違い)
そこの現場でのお仕事は、ある銀行系システムの運用でした。
かなり専門的なお仕事で、データをクライアントから受け取り、そのデータをマクロを使ってシステムに取り込む、という作業を日々行っていました。
そのシステムにデータを取り込むために使うマクロを、エンジニアの方が作ったらしいのですが、
これがまた壮大なマクロで、このマクロがないと仕事ができない!というほど重要なものでした。
使い方を教えてもらうのも、覚えて一人で作業ができるようになるまでもなかなか時間がかかりました。
データを受け取ってから、データの取り込みまでほぼそのマクロで行うのですが、一つ一つかなり時間がかかる作業でした。
ただ、データの取り込み依頼が多いと忙しいのですが、
依頼がなければやることがなく、そのときは現場の上長に指示を仰ぎ、印刷やコピーなどのちょっとしたお手伝いをしていました。
Excel VBAやってみようかなと思ったタイミング
壮大なマクロがあるものの、Excel上で手作業でおこなう細かい作業もありました。
そして依頼がないときに、上長に何かやることがあるか尋ねても、「今はないねぇ」と言われてしまうこともしばしば。
「この空いた時間を何か有効に使えないかな?」と考え始めました。
エンジニアの方が作った本格的なマクロを日々使っていたこともあり、
「マクロでこんなことができるんだ!」という発見や感動もありました。
せっかく時間があるのだから、と思い、
手作業でやっていたもの、自分のタスク管理で使用していたExcelファイルなど、少しずつマクロにしていくことにしました。
幸い、時期によってはマクロの勉強に充てられる時間がたくさんありました。(メイン業務の依頼が全然ない 笑)
また、お客様先ではわたしは正社員ではないので、出席しなくてよい会議などもありましたし、
システムの運用に従事していればあとは割と自由、という雰囲気でした。
(プロジェクトの忘年会などは誘ってもらいましたが、会社全体の忘年会のイベントなどは派遣社員は参加できませんでした・・(´;ω;`)ウッ…)
すごく良かったのは、
誰に強制されたわけでもなく、自主的に始められたこと。
仕事の依頼ではないため、納期や変なプレッシャーなどがなかったこと。
この2つはExcel VBAを勉強する上で、当時のわたしにはとても大きいことでした。
好条件が重なり、コンスタントにマクロ作成を続けていました。
マクロ作成を続けていくうちに、いろいろな作業が楽になると同時に
どんどん自信もついていきました。
一つマクロができると、「これができるんだから、これもできるんじゃない?」と思い、
調べる→形にしていく→達成感を感じる→身についていく→楽しい!
というのを繰り返していました。
初のマクロ作成依頼
あるとき、社員の方に「最近マクロの勉強をしていて楽しいです」という話をしたところ、
後日別部署の方から、「こんなマクロを作ってほしいんだけど・・・」という依頼を受けました。
それが仕事として初めてのマクロ作成となりました!
その方はわたしがマクロ初心者&勉強中ということをご存知だったので、
そこまで難しいマクロの依頼ではなかったですし、納期も長めにとってくれていました。(優しい!)
プロジェクトの進捗管理をExcelでしていて、
日付を更新したら自動的に表に反映してほしいという内容でした。
今までやったことがない機能などもいろいろと調べて盛り込み、無事に作成することができました。
助かりましたと感謝の言葉もいただき、ものすごい達成感・・!
その後も何名かの社員の方からマクロ作成依頼があり、メイン業務と並行でマクロも作っていました。
プログラミングを始める際に最初にやったほうがいいと思ったこと
とても恵まれた環境で勉強ができたわたしですが、プログラミングの勉強を始める際、
どんなことを最初にやったらいいかなと考えてみました。
まず、そのプログラミング言語でどんなことができるのか、どんなことをしたいのか、を調べる・決めることが大事かなと思いました。
どんなことができるのかを知らないと、たぶんそのプログラミングで何をしたいのかも決められないでしょうし、
興味も持てないんじゃないかなと思います。
わたしの場合、本格的なマクロを最初に見ていたため、Excel VBAでかなりいろいろなことができるんだ、ということは知っていました。
自分が使っているExcelのファイルで効率化できそうな部分を探し(最初はなるべく簡単なもの)、
それをマクロ化することを目標にまず掲げ、それを実現するためにどんなことが必要か、ということを調べていけばいいと思います。
自分ができる範囲でマクロを作る、となると、内容も制限されてしまうので、
まずはどうやったらいいかは分からないけどこれを作りたい!と目標を決めるのが大事だと思いました。
わたしがマクロを依頼されるとき、「これやったことないなぁ、どうやるんだろう」と思うもの、今でも結構あります。
毎回1,2個はあります。
「やったことがないけど、以前こんなことができたんだから、たぶんできそう」と、今までの経験から判断して、
そのあとはインターネットで一生懸命調べます!!!!!笑
たいていのことは実現できるので、「できなそうでできた!」というギリギリのラインを乗り越えられるため毎度ものすごい達成感があります。
「これもできた」という自分の知識、経験も増えるので、
こういうことがしたいよーと相談を受けたときに、「こうやったらできそう」と少しずつ自分で判断できるようになってきます。
いきなり参考書などを見てプログラミングを始めるのはあまりお勧めしないです(というかわたしはできませんでしたTT)。
基礎的な部分からスタートするため、変数についてや、セルに文字を入れるなど、
それ単体ではなかなか使いづらいものから勉強すると思うので、あまり面白くないかなと思います。
自分が作りたいマクロの中の一つに、「セルに文字を入れる」という動きがあったら初めて参考書を開く、とかでもいいのかなと思います。
変数の宣言なども、マクロの内容によっては必ずしも必要ではないので、必要があれば調べる!というスタンスもありだと思います。
とりあえず最初は動けばOK!
まずは希望の動きができれば問題ないと思います。
少しずつマクロが書けるようになってくると、もっときれいにコードが書きたいな、など欲が出てくると思います。
もっと単純化したコードにできるんじゃないか、同じこと繰り返しててきれいじゃないな、など気づくようになると思います。
そうしたら、また次回に生かしていけばいいと思います。
インターネット上にお手本のコードがたくさん載っていますので、いろいろな人のコードを参考にして、
自分好みのコードにしていけばいいかなと思います。
できることが増えてくると、どんどん楽しくなってきますよ!
最後に
もしほどよく忙しい現場だった場合、マクロを作ってみよう!という気にならなかったかもしれません。
勉強ができる環境があったことは本当にありがたかったです。
(正直、お客様先独自のツールばかり詳しくなったところで、そこの現場を離れてしまったらその知識は役に立たないので・・(失礼だけど事実))
そこの現場にいたのは2年ほどでしたが、空き時間を使ってExcel VBAのスキルをかなり身につけさせてもらいました。
その後、Excel VBAをもっとやりたいというわたしの希望で、別の現場に異動させてもらうことになりました。
(わたしの後任として別のメンバーが自社からやってきてくれたのでサポート体制はばっちりでした)
また、自社でもVBAの勉強会を開催したり、VBAの基礎講座を開いたりもしました。
そして、退職直前にもマクロ作成メインの現場にも半年ほどお世話になり、毎日毎日Excel VBAに携われる楽しさを味わいました。
Excel VBAについて触れる機会が多くとても充実していました。
一番最初の現場の経験があったからこそ、今わたしがExcel VBAフリーランスとして活動できているため、
あの環境でExcel VBAを勉強できたこと、本当に良かったなと思います。
自社にも、お客様先にも感謝です。
本当にありがとうございました!
・・余談ですが、旦那と出会ったきっかけとなったのもその最初の現場です。笑
その話もいずれお話できればと思います!
Lenoco