僕は、いつもより早起きして、新しいスーツを着た。そのまま緊張した面持ちで電車に乗って出社した。学生の頃と同じ電車に乗ったはずなのに、これまでとは全く違う景色に見えた。毎日見ていたスーツのおじさんが、実は自分の会社の上司だったり、お客さんだったりしたらどうしよう、と意味のないことを考えながら窓の外の景色を見ていた。会社に着いて一番近くにいた若くて美しい女性に声を掛ける。「今日からこちらの会社で働くことになっている田中です。」すると、その女性は、ぱっと目を大きくして、笑顔で僕に言った。「君が新人の田中君ね。」そして、値踏みするように僕を上から下まで眺めてから言った。私は経理部の太田です。これから私の部署で一緒に働くことになるそうだから、よろしくね。」なんと、『できる美人上司』を絵に描いたような彼女と一緒に働くことができるとは素晴らしい。これからの生活が楽しみになった。ところが、その後に朝礼があり、僕は社員のみんなの前で紹介されたのだが、その際、社長から急遽、一言話すように言われてしまった。僕は緊張しすぎて、しどろもどろの挨拶しかできず、ずいぶんと株を落とし、ガッカリするのだった。朝礼の後、美人上司の太田さんが、すぐにやって来てくれて、「気を落とさないで!挨拶、お疲れ様。」と笑顔でフォローしてくれたのが救いだった。その後、太田さんは、僕を経理部門の面々に紹介してくれた。僕をパソコンの前に座らせて、こう尋ねた。僕は突然の質問にびっくりした。「え?プログラミング言語?・・・いいえ、プログラミングなんてできません。コミPo!)太田さんは、それを聞いて、舌打ちをし、明らかにガッカリした顔をした。「プログラミングできる人って、人事部に注文出しておいたのに。」そんなこと、初耳・・・なんだか、申し訳ない気持ちになってきた。沈黙の後、太田さんは頭を切り替えたのか、再び笑顔になってこう言った。新人くんにプログラミングを覚えてもらえば良いのだから。僕は大いに戸惑いながら「は、はい。太田さんは、急にテンションが上がった感じで僕に尋ねた。「最初はExcelからやろうか。Excelはやったことある?」Excelなら、僕も触ったことがあるので、少し元気を取り戻し「はい」と答えた。以前、パズルゲームのスコアを毎日記録して、グラフを出して友達に自慢したこともあるのだ。僕がそれを話そうとするのを遮って、太田さんは、僕に入社して一番最初の任務を言い渡したのだった。「このパソコンのデスクトップに、Excelファイルがあるから開いてみて。僕は言われるままに、Excelファイルをダブルクリックして開く。多くのシートが一つのExcelファイルに入っている太田さんが話を続ける。「画面の下の方にあるシートの切り替えタブを見てみて。大量のシートがあるでしょう?一つのExcelファイルの中にたくさんのシートが入っていてとても使い辛くなってしまったの。これを一枚ずつばらばらの個別のExcelファイルに分けて欲しいの。」これは、僕の初仕事に相応しい気がしてきた。太田さんを見ると、ニヤリと笑っていた。なんだか馬鹿にされている気がした。僕だってパソコンが苦手な訳ではない。僕の仕事の速さを見せつけてやろう。僕は少しの間作戦を考えた。何十枚もあるExcelのワークシートをバラバラにして、個別のExcelファイルに分ける。そのためには、シートを一枚ずつ選択して、新規ワークブックにコピーして保存すれば良いのだ。シートのタブを右クリックし、ポップアップメニューから「移動またはコピー」をクリックする。シートをコピーする次いで、移動先ブック名の項目を「(新しいブック)」として、「コピーを作成する」にチェックをつけて[OK]ボタンを押す。新規ワークブックを選んでコピーするすると、新規ワークブックにシートの内容がコピーされる。そこで、ファイルに名前を付けて保存すれば、シートを一つのワークブックに保存できるという訳だ。この作業をシートの枚数だけ繰り返し行うだけだ。僕の華麗なマウス操作を見せつけてやろう。思って、ファイルを一つ、二つ保存したところで、太田さんが口を出してきた。「あら、そんなにゆっくり作業していたら、日が暮れちゃうね。僕はムッとして反論する。「こう見えても、僕はExcelの操作とマウスを動かすことには定評があるんですよ。あっという間に終わらせて見せますよ。」それに対して、太田さんは信じられない一言を吐く。「私なら10分もあれば余裕で終わらせることができるわ。」なんと、これだけの枚数のシートを10分で分離するとは信じられない。1800秒(30分)はかかるはずだ。[F11]キー)を押した。すると、見たこともない画面が現れた。太田さんが出したExcelの隠しコマンド?!「太田さん、ずるいですよ。太田さんは、クスリと笑って答えた。Applications(通称、VBA)のエディタなのよ!」そして、僕の目の前で、太田さんは、何やら数行のプログラムを書いて実行した。すると、Excelが自動的に操作されて、あっという間に、Excelのシートが個別のワークブックに保存されたのだった。実際には、10分もかからなかったのではないだろうか。太田さんは、あっという間に作業を終えて言い放った。「新人くん、見た?これが、プログラミングの威力なの。僕は、呆然と立ちすくみ、太田さんの弟子に入門することを心に誓ったのだった。Applications)を使ったプログラミングでした。MicrosoftのOfficeシリーズにはもれなくVBAが備わっており、プログラミングによって自動化することが可能です。太田さんが作ったプログラムを、実際に実行してみましょう。以下のプログラムが、複数のシートを個別のExcelファイルに分離するものです。大量のシートの入ったExcelファイルを用意するのが面倒という方は、こちらから今回のサンプルExcelファイルをダウンロードすることができます。[F11]キーを押すと、VBAエディタが起動します。標準モジュール]をクリックします。エディタに以下のプログラムを記述します。Subそして、[F5]キーを押すか、画面上部にある実行ボタンを押すとプログラムが実行されます。11行のプログラムですが、人手でやったら30分は余裕でかかる処理をあっという間に終わらせることができます。プログラムを見てみましょう。(*1)では、サブルーチンと言って、VBAのひとまとまりの処理を定義します。Subまでがサブルーチンです。(*2)の部分では、現在使用しているワークブックを取得します。Next構文を利用してブック内にあるシートの枚数だけ繰り返し処理を実行します。(*3)ではシートを取り出し、(*4)で新規ワークブック(新規ファイル)を作成します。(*5)では新規ワークブックに(*3)で取り出したシートの内容をコピーします。(*6)ではワークブックを保存します。VBAはそれほど難しくない上に、手軽に業務を自動化できるので、1990年後半の登場直後から大変重宝されて使われています。事務でExcel/Wordを扱うなら、VBAを知っているだけで業務を大幅に自動化できます。くじらはんどにて、プログラミングの楽しさを伝える活動をしている。テキスト音楽「サクラ」など。共通点は○○だったAI時代に「必要とされる人材」とは??」4月1日より...71%の人が仕事を辞めたいと思った経験あり。※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。システムやソフトウェアの開発に携わるエンジニアに向けた最新情報など仕事に役立つ話題などを提供していきます。Corporation。