「私もこれで勉強した」と渡されたAccess本一冊。実質降格で飛ばされた部署で、私のVBA独学が始まった話

その原点となる記憶の糸をたぐり寄せますと、十五年以上も前の古い時代に行き着きます。まだクラウドなどという言葉の影もなかった頃のことです。オフィスの端で、ただひたすらにキーボードを叩き続けていた日々を思い出します。

私とプログラミングの出会いは、決して華々しいキャリアアップなどではありませんでした。実質的な降格。理不尽な組織改編。そして逃げ場のない膨大な単純作業。重苦しい空気が漂う部署の片隅が、私の出発点でした。

本記事にはプロモーション(アフィリエイトリンク)を含みます。

大波に飲まれたキャリア

まず、発端は顧客の現場で起きたある事故でした。私自身が直接の当事者だったわけではありませんし、懲罰の対象になったわけでもありません。しかし、法令遵守やコンプライアンスといった名目のもと、親会社をも巻き込んだ大規模な組織改編の波が、現場の末端にまで容赦なく押し寄せてきたのです。事業を適法に回すため、建設業許可を持つ子会社として明確な区分けが必要となりました。要するに、今まで通りでは仕事ができなくなったのです。

ある支店の閉鎖が決まり、別の支店への異動を命じられました。そのタイミングで肩書きが変わり、支店長から一般職へという事実上の降格を味わいました。理不尽だ、と声を荒げる気力すら湧きませんでした。巨大な組織の論理の前では、個人の事情など塵のようなものです。淡々と荷物をまとめ、新しい席に座りました。そこで腐らずに結果を出し、異動先で再び支店長の座に返り咲いたのも束の間のことでした。

組織改革とキャリア逆回転、その先の不安

第二の波がやってきました。建設業法の厳格な対応が求められ、許認可を持つ事業所のみが営業活動を許される体制への完全移行が始まりました。それに伴う「積算受注センター」の設立です。各支店に散らばっていた受注処理や見積もり作成を一箇所に集約するという、理にかなった話に聞こえました。しかし、私は再び異動を命じられ、二度目の一般職への降格を経験することになります。

次に訪れたのは、地名を聞くのも嫌になるような、あの独特の閉塞感でした。自分のキャリアが逆回転していくような焦燥感。段ボール箱を抱えて新しい部署の扉を開けたとき、私の胸にあったのは「この先どうなるのか」という暗い予感だけでした。

積算受注センターの泥沼業務

積算受注センターという響きだけは立派ですが、その実態は壮絶を極めていました。許認可の関係で営業ができなくなった各支店から、毎日のように見積依頼と受注処理が雪崩れ込んできます。それを少人数のスタッフで処理しなければなりません。待ち受けていたのは、ひたすら手作業でExcelをこねくり回す無間地獄でした。

仕事の流れはこうです。各支店からFAXが届き、内容を確認するために先方へ電話を入れます。次に基幹システムへ作業の詳細を手入力し、Excelで見積書を作成します。完成したら先方にFAXで返送し、注文書と注文請書のやりとりをして、ようやく受注完了です。一件こなすたびに、この全工程を繰り返す日々でした。

ちなみに当時はメールではなく、全てFAXが中心でした。2006年当時の現場とは、そのような環境だったのです。

地獄のExcel手作業と自動化への渇望

各支店の営業マンが独自のローカルルールで作ったExcelファイルの惨状はすさまじいものでした。無駄に結合されたセル、全角と半角が入り混じった商品名、スペースキーで無理やり見た目だけ整えられたレイアウト。それらを一つ一つ手作業で解きほぐし、センターの統一フォーマットに転記していくのです。

昼休みもまともに取れませんでした。午後3時を過ぎると、マウスを握り続けた右手が石のように固まります。夕方になると眼精疲労でモニターの文字が二重にブレて見え始め、それでも未処理のファイルは減りません。身体が悲鳴を上げているのに、止まれません。それが毎日でした。繁忙期のピーク時には、8人のスタッフで1人あたり1日10〜15件の見積もりを、FAX受信から注文請書完了まで全工程を手作業でこなしていたのです。

Excel地獄と自動化への渇望

そのため、Excelの関数なら周囲の人間よりは少しばかり詳しいという自負がありました。VLOOKUPを使って参照をかけたり、IF関数で条件分岐させたりすることはできました。しかし、そんな小手先のテクニックで太刀打ちできる作業量ではありませんでした。何かが根本的に狂っていると感じました。ファイルを開いて閉じるだけで日が暮れ、誰かがどこかのセルを誤って消せば計算式が壊れ、すべてが台無しになる。このままではセンター全体が崩壊すると誰もが感じていましたが、日々の業務に追われて改善策を考える余裕すらありませんでした。

息継ぎのできない泥水の中で、ただ手足をもがいているような毎日でした。どうにかしてこの手作業を自動化できないかというかすかな思いはありましたが、VBAなどほぼ未経験で、マクロの記録を数回試したことがある程度でした。ましてやシステム開発なんて、別世界の住人がやることだと思っていました。疲労で霞む目の前には、今日もまた無数の未処理Excelファイルが山積みになっていたのです。

託されたAccess、未経験の挑戦

絶望的な状況のなか、管理本部長に声をかけられました。センター長を兼任していたその人は、冷徹な役員などではなく、現場の泥臭さをよく知り尽くした、叩き上げの先輩でした。

「ちょっと、これを見てくれないか」
そう言って机の引き出しから取り出されたのは、ひどく分厚い一冊の専門書でした。表紙には『Access』の文字がありました。「私もこれでいろいろ勉強していたのでね。是非参考にして、受注管理システムを作ってみてほしい」

命令口調ではなく、期待を込めた温かい言葉でした。受け取った本は何度も開かれた形跡があり、ページの端がよれていました。本部長自身が、かつて夜遅くまでこれと格闘していた証です。ただの無茶振りなら適当に言い訳をして逃げたかもしれません。しかし、同じ道を歩んだ先輩からのバトンを、受け取らないわけにはいきませんでした。

VBA・Pythonをもっと本格的に学ぶなら

VBAやPythonを実務レベルまで引き上げたい方には「侍エンジニア」がおすすめです。マンツーマン指導・オーダーメイドカリキュラムで、文系出身でも挫折しにくい環境が整っています。無料カウンセリングだけでも学習ロードマップが明確になります。

侍エンジニア 無料カウンセリングを予約する →

Accessとの遭遇

ただ、問題がありました。Accessなんて触ったことがなく、そもそもPCの深い知識自体が怪しい状態でした。さらに言えば、会社のパソコンにAccessはインストールすらされていませんでした。グループ全体を見渡しても、そんなソフトが入った端末はごくわずかでした。「ソフトを買ってもらうところからですね」と苦笑いしながら答えると、本部長はすぐに手配に動いてくれました。

さらに数日後、真新しいAccessが私のPCにインストールされました。画面を開くと、見慣れたExcelの緑色とは違う無機質な画面が広がっていました。テーブル、クエリ、フォーム。見慣れない単語の羅列と、先輩から託された分厚い本が一冊。与えられた武器は、これだけでした。

追い詰められた開発の日々

本を開きましたが、最初の数ページで早くも理解が追いつかなくなりました。データベースとは何か、リレーショナルとは何か。Excelならセルに文字を打てばそれで終わりですが、Accessは違いました。データを格納する「箱」を厳密に定義し、それを結びつけ、画面を作り、動かす処理を書く。概念そのものが全く別次元だったのです。

仕事の合間を見ては本を開きました。業務が終わったあとも、誰もいなくなったオフィスで読み続けました。さらには休日に業務外で会社に来て、PCの前に座ってコードを打ち込みました。今の時代ならとても推奨できない話ですが、それが二十年近く前の現実でした。追い詰められていたのか、それとも単純に面白くなっていたのか、当時の自分にはもうその区別がつきませんでした。降格され、行き場を失い、流れ着いたこのセンターで私がこのシステムを作れなければ、現場の人間が全員過労で倒れてしまう。逃げ道はなく、助けてくれるシステム会社を呼ぶ予算もありませんでした。

まず、「自分でやるしかない」と、夜の静けさのなかで腹を括りました。

残業の夜、エラーと写経

業務が終わり、周囲の人間が帰っていくなかで、私は席を立てませんでした。蛍光灯だけが灯るオフィスで、本のページをめくり続けました。意味もわからずコードを打ち込み、実行しては真っ赤なエラーが出る。また本に戻る。その繰り返しでした。何度、本を閉じて帰ろうと思ったかわかりません。ですが翌朝には、また同じ量のExcelファイルが積み上がっているという現実が、席を離れることを許しませんでした。

ひたすら写経する日々が続きました。本に書いてあるコードを、一言一句違わずに打ち込む。コンパイルエラーが出たり、「オブジェクトが必要です」といった意味不明なダイアログに怒りを覚えながら、変数という概念を必死に頭に叩き込んでいきました。

プログラムの感動、Excel・Access連携

2006年か、2007年頃だったと思います。ユーザーフォームに配置した灰色のボタンに恐る恐るマウスペインタを合わせ、クリックしました。画面がチカッと瞬き、処理が走ったのです。動きました。今思えば数行の、子供の遊びのようなコードでしたが、そのときの感動は確かにありました。自分の書いた文字が、PCというブラックボックスを思い通りに操ったのです。

しかし、本当のカタルシスはそこではありませんでした。現場からの依頼データは全てExcelで送られてくるため、それをAccessの手打ち画面で入れ直すのでは、結局手作業のままです。どうにかしてこの二つを繋げられないか。本をめくり、ネットの断片的な情報をかき集め、試行錯誤を繰り返しました。ADOや接続文字列、Provider=Microsoft.Jet.OLEDB.4.0といった呪文のような単語と格闘し続けたある日のことです。

ExcelとAccess、VBA連携の感動

Excel側のVBAに書いたコードを実行しました。処理が完了し、すぐにAccessを開いてテーブルのデータシートビューを表示します。そこには、ついさっきまでExcelにあったデータが、綺麗に行をなして格納されていました。

背筋に電気が走ったのを覚えています。「繋がった」と。ただの表計算ツールだったExcelが、データベースという広大な海に接続された瞬間でした。バラバラだったパズルのピースが、強烈な音を立ててひとつに組み上がったのです。

この連携技術さえあれば、無限に等しいデータを安全に管理し、必要なときに自由自在に引き出すことができます。永遠に続くと思われたコピー&ペーストの地獄から、ついに抜け出せる。誰もいないオフィスで、私は何度も何度もExcelとAccessの間でデータを往復させました。

降格で得た武器、システム開発の地獄

支店長から一般職へ。理不尽な組織改編と、二度の降格。当時の私にとって、それはキャリアの挫折に他なりませんでした。

しかし、もしあのまま支店長というポジションに安住していたら。積算受注センターという過酷な環境に放り込まれなかったら。本部長から、あの一冊の分厚い本を手渡されることもなかったはずです。絶望的な作業量という壁がなければ、自らプログラムのコードを書こうなどと決意することは絶対にあり得なかったでしょう。

実質的な降格人事は、結果として私に二度と手放せない「強力な武器」を授けてくれました。プログラミングのプの字も知らなかった男が、システム構築という全く新しい世界への扉をこじ開けたのです。

これで全てがうまくいく。地獄のような手作業から解放され、スマートな業務環境が完成する。あの連携成功の夜、私は本気でそう信じていました。システムさえ作れば、全て解決するのだと。

しかし、現実はそこまで甘くありませんでした。システム開発の真の恐ろしさを、当時の私はまだ何も理解していませんでした。一つの壁を越えた先に待っていたのは、解決の糸口すら見えない「共有の地獄」でした。

続きはこちらでご紹介します。Excelを複数人で使い始めた瞬間から始まる、もう一つの地獄の話です。

関連リンクとチェックリスト

無料プレゼント

Excel業務を自動化する前に確認するチェックリスト(PDF)

自動化していい作業かどうか、VBAかPythonか、最初に避けるべき落とし穴。実務でよく迷うポイントを1枚にまとめました。メールアドレスだけで受け取れます。

無料でチェックリストを受け取る

¥980 ミニキット

コピペで動かせる3スクリプト+自動化チェックリスト

最新ファイルの自動選択・部署名ゆれの正規化・CSV文字コード確認の3本セット。今週の作業を1つだけ楽にするための最小キットです。

ミニキットを見る(¥980)

学習サービスとアンケート

このスキルを活かしてさらに前へ進むなら

Pythonや自動化スキルを体系的に習得して、ITエンジニアとしてのキャリアを切り開きたい方には「Enjoy Tech!(エンジョイテック)」が選択肢のひとつです。

プログラミングスクール Enjoy Tech!(エンジョイテック) →

Excel VBA プログラミング 解説書 第2版 基礎知識 学習 参考書 マクロ 自動化 業務効率化 手順書 入門書 技術書

関連する学びを少し広げるなら

Excel VBA プログラミング 解説書 第2版 基礎知識 学習 参考書 マクロ 自動化 業務効率化 手順書 入門書 技術書

この記事の内容を手元で試しながら、実務で少しずつ身につけたい方に向いた一冊です。

Amazonで見る → 楽天で見る →

※Amazon/楽天のアフィリエイトリンクを含みます

[アンケート] この記事は役に立ちましたか?

30秒で答えられます。改善の参考にします。

1問だけ回答する