エクセルのシートの追加も自動化できる -作業を楽にしよう

シートを追加する作業も たくさんだと面倒

以前に私が新しい職場に移ったときのことです。
そこでは、ある測定結果を毎週1回報告していました。エクセルで作られた結果一覧表があります。1つの項目の測定結果が1行に書かれています。それが50~60行あります。

備考欄に「詳細結果あり」と書かれた項目にはテキストで書かれた詳細データが存在します。ある場合は結果一覧表のエクセルにシートを追加して詳細データを貼りつけます。そのシート名は項目名と同じにします。前任者はその作業を手作業で行っていました。作業するステップを整理すると以下になります。

  • 一覧表の備考に「詳細結果あり」と書かれているかを見る書かれている場合は項目名に合ったテキストファイルを探して開く
  • その内容をコピーする
  • エクセル表にシートを追加する
  • コピーしたデータを貼りつける
  • シート名を「項目名」に変える

1件はたいした作業ではありません。でも何十件もあります。しかもこの作業は毎週発生するのです。毎週それなりの時間を費やしていました。

こうやれば自動化できそうだ

私はこの処理を自動化することにしました。これらの動作はすべてエクセルVBAのプログラミングで自動化できます。

項目名に合ったシートがないか探すには、Dirという関数を使います。指定したディレクトリー内にあるファイル名を取得できるので、その中から項目名に一致するものを探します。

シートを追加したりシート名を変えたりするときは重複する名前のシートがないかをチェックする必要があります。

ポイントはそのくらいで、あとは単純なコピーと貼りつけでできそうです。

その方針で私は作業を自動化するプログラムを作りました。すると仕事が短時間で終わり定時に帰れるようになりました。めでたし めでたし。

自動化にチャレンジするだけでも意義がある

ちょっと試行錯誤しましたが、手こずることなく作成できました。これで処理時間を大幅に短縮できました。

私は手慣れていますが、慣れていない人だと手こずることがあるかもしれません。丸一日かかったりすることも。

それでも、その後何度も使うと思えば元は取れると思います。よしんば(なんて言葉は初めて使った!)プログラムを作る時間と自動化で短縮できた時間が同じだったとしても、それでも自動化をやった方がいいと思います。

何にも考えずにエクセル表のコピペを繰り返して大事な時間を浪費するよりも、頭を使って自動化プログラムを考えるほうが有意義だと思いませんか? 時間を有意義に使いましょう。


エクセルのプログラミングで自動化にチャレンジしてみませんか?

初心者向けの勉強会を毎月行っています。ここに書いた作業もプログラムで自動に行えるようになります。詳しくはこちら