Excelで作業の自動化を考える

ページ番号: 1 2

【環境】Windows 10 Pro 64bit、Excel for Office 365

広告

仕事の作業効率をあげるために、Excelによる作業の自動化について考えてみることにしました(唐突ですがw)

■自動化の目的

Excelの作業効率を上げるために行うべきことは、ファイル(Workbook)単位ではなく、シート(Worksheet)単位での自動化を行うことです!

『えっ!?ファイル全部じゃないの!?』『ファイルは沢山あるのよ!?』とお思いでしょうが、よく考えてください

 

一般的に1つのファイルは、1つの資料を意味していますから、その1つの資料には様々な形式のシートが含まれています!

ですよね?

 

その数あるシートの中から必要なシートを選別して自動で処理することが大切なのです

ファイルにターゲットを絞って、自動化してもそのファイルにしか対応できないのです

ファイルが自動で処理する対象のファイルかを判断するのは大変ですが、シート単位の判断なら簡単なのです!

 

更に、ファイルの中のシートが変われば、自動化の処理もそれに追従しなければならないですし、そのファイルが暖簾分けした日にゃ!?

自動化の処理も暖簾分け・・って、そりゃーもー大変!w

これらのことを踏まえて、ファイルをターゲットにした自動化は、全く効率がよくありません!

 

もしあなたが、『作業を自動化しているのに効率が悪い』と感じているのなら、

最初に確認すべきことは、『その自動化はシート単位で自動化できているのか!?』です!

そして、おそらく、その答えは『否』、ファイルをターゲットにした自動化だと思われます

■あるべき姿

どんなファイルであろうと、条件を満たすシートがある限り繰り返させることができるのが、自動化の本来の形であると考えます

 

例えば、1つのファイルにシートが増えたとしても、そのシートが条件を満たさないのであれば、自動化の処理は何も変わらないです

条件を満たした場合で、1つのファイルの中に複数のシートが条件を満たすことになったとしても、対象となるシートが増えただけなので、自動化の処理は何も対応する必要がないのです!

暖簾分けしようが、シートが消されようが、自動化の処理には何も関係ない

だからこそ!シート単位で自動化を行うことが大切なのです!

・注意点

シートをターゲットとせよ!って書くと、対象のシートを探すためにファイル毎にシートを探しながら、シート一覧を作ってしまいがちですが、それは間違いです!

何よりもまずは、シートではなく、ファイル一覧を作成してください!

 

そしてそのファイルの中から、シートを検索したいファイルを選んでからシート一覧を作成する、二段階での作成を行うようにしてください!

『わざわざ二段階にするのは面倒だ!』、『自動化なら一気にシート一覧を作った方が楽ではないか!?』と思いがちです

でも、この二段階にすることは非常に大事なことなのです

 

もし1つフォルダに複数ファイルがあって、全て対象シートを持つファイルだと判っていたとしても、二段階にすることをお勧めします!

理由は1つ!そのフォルダに1ファイル、後から追加になった場合に、全てのファイルを対象として、処理をやりなおすのか、追加されたファイルだけを行うのか!?を選べるからです

※普通は、後から追加になるファイルはフォルダを分けることが考えられますが、自動化はシステムが出来上がってから後付けで行うことが多いので、自動化側でシステムの補填をしてあげる必要があるのですw

広告

■Excelでの自動化

Excelでの自動化と言って思い付くものはこんなとこですかね?

  • Excelの操作を記録するマクロ
  • マクロを集めたアドイン
  • Excel VBAによるプログラミング

単純な繰り返しの作業をマクロを使って、自動的に行うことはよくあることですが、馴染みのない方も多いかも知れませんが、ExcelにはVisual Basic Editor が付いており、VBA(Visual Basic for Applications)によるプログラミングを行うことで、ファイルやアプリケーションの操作を行うこともExcelではできてしまうのです!

・Excelの役割

Excelは表計算ソフトではありますが、罫線を利用することで、定型の書類として使用されることもしばしばあります

Excelでは以下のようなこともできるので、書類としても重宝されている訳です

  • 入力する文字や数字を制限
  • 入力値に合わせて文字列を表示
  • 入力値を使用した複雑な計算
  • リストデータをグラフ化
  • etc…

このような場合には、Excelが持っている機能(メニューにあるもの)や関数でできてしまうのですが、これを大量に行わなければならないとき、そんな時こそVBAでプログラミングを行って自動化してしまうのです!

■VBAプログラミングを始める

プログラミングと聞くと、慣れていない人は、難しいのではないかと思うかもしれませんけど、ExcelでVBAを始めるのは、比較的簡単にできてしまいます

  1. [開発] タブを表示する
  2. [開発] タブからVisual Basic Editorを起動する

「1.[開発] タブを表示する」はExcelの[ファイル] – [オプション]からExcelのオプションを開き、「リボンのユーザー設定」でメインタブにある「開発」にチェックを付けます

Excelで作業の自動化を考える 1
Office 365 「リボンのユーザー設定」

「2.[開発] タブからVisual Basic Editorを起動する」は表示した開発タブの「Visual Basic」をクリックするだけです

Excelで作業の自動化を考える 2
開発タブ

これでVisual Baseic Editor(Micorosoft Visual Basic for Applications)が起動します

Excelで作業の自動化を考える 3
Visual Baseic Editor

[開発] – [マクロの記録]を使って、記録されたマクロもこの Visual Baseic Editor で表示し、編集することができます

シェア
広告
ページ番号: 1 2

やもす ʕ•͡-•ʔ

のんびり!のほほん!がモットーです!w 蕎麦食いたい ライブ行きたい 暑いの嫌い