面倒な作業を自動化するためのExcelマクロの使用方法を学ぶ
Excelのより強力ではあるがめったに使用されない機能の1つは、マクロ内に自動化タスクおよびカスタムロジックを非常に簡単に作成する機能です。マクロは、予測可能で反復的なタスクの時間を節約し、文書フォーマットを標準化するための理想的な方法を提供します。何度も1行のコードを書く必要がありません。.
マクロとは何か、または実際にマクロを作成する方法がわからない場合は問題ありません。プロセス全体を説明します。.
注意: 同じプロセスがほとんどのバージョンのMicrosoft Officeで機能するはずです。スクリーンショットは少し違って見えるかもしれません.
マクロとは?
Microsoft Officeマクロ(この機能はいくつかのMS Officeアプリケーションに適用されるため)は、ドキュメント内に保存された単なるVisual Basic for Applications(VBA)コードです。同様の例えとして、文書をHTML、マクロをJavascriptと考えてください。 JavascriptがWebページ上のHTMLを操作できるのとほぼ同じ方法で、マクロは文書を操作できます。.
マクロは非常に強力で、あなたの想像力が呼び起こすことができるものはほとんど何でもすることができます。マクロを使って実行できる(非常に)短い関数のリストとして、
- スタイルとフォーマットを適用する.
- データとテキストを操作する.
- データソース(データベース、テキストファイルなど)と通信する.
- まったく新しい文書を作成する.
- 上記のいずれかを任意の順序で組み合わせたもの.
マクロの作成:例による説明
私たちはあなたの庭の品種CSVファイルから始めます。ここで特別なことは何もありません、0と100の間の行と列の両方のヘッダーを持つ10×20セットの数字だけです。私たちの目標は、各行の合計を含む、よくフォーマットされた見やすいデータシートを作成することです。.
上で述べたように、マクロはVBAコードですが、Excelの優れた点の1つは、コーディングを必要とせずに作成/記録できることです。.
マクロを作成するには、表示>マクロ>マクロの記録に進みます。.
マクロに名前(スペースなし)を割り当てて、[OK]をクリックします。.
これが終わったら, すべて あなたの行動のすべてが記録されます - あらゆるセルの変更、スクロールの行動、ウィンドウのサイズ変更、あなたはそれに名前を付けます.
Excelが記録モードであることを示す場所がいくつかあります。 1つは、[Macro]メニューを表示し、[Stop Recording]が[Record Macro]のオプションに取って代わったことに注目することです。.
もう1つは右下にあります。 '停止'アイコンはそれがマクロモードであることを示し、ここで押すことは記録を停止します(同様に、記録モードでないとき、このアイコンはあなたがマクロメニューに行く代わりに使用できるRecord Macroボタンになります).
マクロを記録したので、今度は要約計算を適用しましょう。まずヘッダを追加します.
次に、それぞれ適切な式を適用します。
- = SUM(B2:K2)
- = AVERAGE(B2:K2)
- = MIN(B2:K2)
- = MAX(B2:K2)
- = MEDIAN(B2:K2)
ここで、すべての計算セルをハイライト表示し、すべてのデータ行の長さをドラッグして各行に計算を適用します。.
これが完了すると、各行にそれぞれの概要が表示されます。.
今度は、シート全体の要約データを取得したいので、さらにいくつかの計算を適用します。
それぞれ
- = SUM(L2:L21)
- = AVERAGE(B2:K21)*行平均の平均が必ずしもすべての値の平均と等しいとは限らないため、これはすべてのデータにわたって計算する必要があります。.
- = MIN(N2:N21)
- = MAX(O2:O21)
- = MEDIAN(B2:K21) *上記と同じ理由ですべてのデータに渡って計算.
計算が完了したので、スタイルとフォーマットを適用します。最初にすべて選択(Ctrl + Aまたは行と列の見出しの間にあるセルをクリック)を実行してすべてのセルに一般的な数値フォーマットを適用し、ホームメニューの下にある「コンマスタイル」アイコンを選択します。.
次に、行ヘッダーと列ヘッダーの両方に視覚的な書式設定を適用します。
- 大胆な.
- 中央揃え.
- 背景の塗りつぶしの色.
そして最後に、合計に何らかのスタイルを適用します.
すべて完了したら、これが私たちのデータシートのようになります。
結果に満足しているので、マクロの記録を止めます.
おめでとうございます - Excelマクロを作成しました。.
新しく記録したマクロを使用するには、Excelブックをマクロ対応のファイル形式で保存する必要があります。ただし、その前に、まず既存のデータをすべて消去して、テンプレートに埋め込まれないようにする必要があります(このテンプレートを使用するたびに、最新のデータをインポートします)。.
これを行うには、すべてのセルを選択して削除します。.
データが消去された状態で(ただし、マクロはExcelファイルに含まれています)、ファイルをマクロ有効テンプレート(XLTM)ファイルとして保存します。これを標準テンプレート(XLTX)ファイルとして保存すると、マクロは ではない それから実行することができます。あるいは、ファイルをレガシーテンプレート(XLT)ファイルとして保存して、マクロを実行できるようにすることもできます。.
ファイルをテンプレートとして保存したら、次に進み、Excelを閉じます。.
Excelマクロを使用する
この新しく記録されたマクロをどのように適用できるかを説明する前に、一般的なマクロに関するいくつかの点を説明することが重要です。
- マクロは悪意のある可能性があります.
- 上記のポイントを参照してください.
VBAコードは実際には非常に強力であり、現在のドキュメントの範囲外のファイルを操作することができます。たとえば、マクロはマイドキュメントフォルダ内のランダムなファイルを変更または削除する可能性があります。そのように、それはあなたを確かめることが重要です のみ 信頼できるソースからマクロを実行する.
データフォーマットマクロを使用するには、上で作成したExcelテンプレートファイルを開きます。これを行うと、標準のセキュリティ設定が有効になっていると仮定すると、マクロが無効になっているという警告がワークブックの上部に表示されます。自分で作成したマクロを信頼するので、[コンテンツを有効にする]ボタンをクリックします.
次に、CSVから最新のデータセットをインポートします(これが、マクロの作成に使用されたワークシートのソースです)。.
CSVファイルのインポートを完了するには、Excelで正しく解釈されるようにするためにいくつかのオプションを設定する必要があります(例:区切り文字、ヘッダーなど)。.
データがインポートされたら、([表示]タブの下の)[マクロ]メニューに移動して[マクロの表示]を選択します。.
表示されたダイアログボックスに、上で記録した“ FormatData”マクロが表示されます。それを選択して実行をクリック.
一度実行すると、しばらくの間カーソルが飛び回ることがありますが、それと同様にデータが操作されていることがわかります。 まさに 我々がそれを記録したように。すべてが言われて終わったら、それは私たちのオリジナルのように見えるべきです - 異なるデータを除いて.
フードの下で見ること:マクロ作業をするもの
数回述べたように、マクロはVisual Basic for Applications(VBA)コードによって駆動されます。マクロを「記録」するとき、Excelは実際にあなたがするすべてをそれぞれのVBA命令に変換しています。簡単に言えば、Excelがコードを作成しているので、コードを作成する必要はありません。.
マクロを実行するコードを表示するには、[マクロ]ダイアログから[編集]ボタンをクリックします。.
開いたウィンドウには、マクロ作成時のアクションから記録されたソースコードが表示されます。もちろん、このコードを編集したり、完全にコードウィンドウ内で新しいマクロを作成することもできます。この記事で使用されている記録アクションはほとんどのニーズに適合する可能性がありますが、より高度にカスタマイズされたアクションまたは条件付きアクションでは、ソースコードを編集する必要があります。.
例をもう一歩進めて…
仮に、私たちのソースデータファイルdata.csvが常に同じ場所にファイルを保存する自動化されたプロセスによって作成されると仮定します(例えばC:\ Data \ data.csvは常に最新のデータです)。このファイルを開いてインポートするプロセスも、簡単にマクロにすることができます。
- “ FormatData”マクロを含むExcelテンプレートファイルを開きます.
- “ LoadData”という名前の新しいマクロを記録します。.
- マクロ記録では、通常どおりにデータファイルをインポートします。.
- データがインポートされたら、マクロの記録を停止します.
- すべてのセルデータを削除する(すべて選択してから削除する).
- 更新されたテンプレートを保存します(マクロ対応のテンプレートフォーマットを使用することを忘れないでください).
これが行われると、テンプレートが開かれるときはいつでも2つのマクロがあります - 1つはデータをロードし、もう1つはそれをフォーマットします。.
ほんの少しのコード編集で手を汚したい場合は、「LoadData」から生成されたコードをコピーして「FormatData」のコードの先頭に挿入することで、これらのアクションを1つのマクロに簡単に組み合わせることができます。.
このテンプレートをダウンロードする
ご参考までに、この記事で作成したExcelテンプレートとサンプルデータファイルの両方をご用意しています。.
How-ToオタクからExcelマクロテンプレートをダウンロードする