「私もこれで勉強した」と渡された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』の文字。「私もこれでいろいろ勉強していたのでね。是非参考にして、受注管理システムを作ってみてほしい」

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

ここで一度立ち止まって考えてみてください

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

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

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を複数人で使い始めた瞬間から始まる、もう一つの地獄の話です。

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

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

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

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

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