業務効率化の道具箱(11)VBAでグラフ描画が可能な自動集計アプリを作ってみよう:山浦恒央の“くみこみ”な話(164)(2/3 ページ)
ソフトウェア開発にとどまらない、PCを使う全ての人が対象となるシリーズ「業務効率化の道具箱」。第11回は、VBAによる自動集計アプリのさらなる進化版として、データを転記し、グラフ描画を行うツールを作ってみる。
4.データ転記とグラフ描画を自動化する「自動集計アプリ」を作ってみよう
下記に、前ページで示した作業を自動的に実行する「自動集計アプリ」の作成手順を示します。
4.1 簡単な仕様と完成イメージ
自動集計アプリの簡単な仕様を下記に示します。
- (1)データのグループ数、ファイル数、ファイル名を入力する
- (2)アプリと同じ階層のフォルダからファイル名に該当するCSVを読み込む
- (3)グループごとにシートを追加する
- (4)開いたファイルのデータを繰り返しコピーし、自動集計アプリに貼り付ける
- (5)集計結果をグラフに描画する
完成イメージも併せて示します(図3)。
図3が自動集計アプリの完成イメージです。複雑に見えますが、外部にある複数のCSVファイルをコピーし、特定のグループに分け、異なる色でグラフに描画するだけです。なお、本記事の制約上、グループ数2、ファイル数6で実行することを前提とします。
それでは、手順に沿って作成していきましょう。
4.2 データの準備
データを集計するCSVファイルを作成します。例えば、以下のようなデータです(図4)。
図4は、集計対象となるデータの例です。ここでは、Excelのrand関数でデータを作成しました。なお、本記事の制約上、列に入れるデータはA列とB列のみとしてします。さらに、それを6個のCSVファイルにコピーし2つのグループにしました(図5)。
図5は、用意したファイルの作成例です。筆者は、グループ1を「dataGr1-1.csv〜dataGr1-3.csv」とし、グループ2を「dataGr2-1.csv〜dataGr2-3.csv」としています。
4.3 マクロ有効ファイルの準備
Excelを開き、マクロ有効ブックとして保存します(図6)。
図6は、マクロ有効ブックの保存例です。図に示す通り、「ファイルの種類(T)」をExcelマクロ有効ブック(*.xlsm)として保存してください。
4.4 自動集計アプリの下準備
今回の自動集計アプリでは、グループと読み込むCSVファイルの情報を設定する必要があります。そのため、以下の手順でシートを作成してみましょう。
4.4.1 シートの追加
まず、次の2つのシートを追加してください。
- 入力ファイルシート:読み出すCSVファイル名、データ数などを記述するシート
- グラフシート:読み出したCSVファイルをグラフに表示するシート
シートの追加を図7に示します。
4.4.2 入力ファイルシートの作成
次に、入力ファイルシートを作成します。このシートには、グループ名称、ファイル名称、データ数、ボタンを作成します(図8)。
図8は、入力ファイルシートの作成例です。以下の手順に従ってシートを作成してください。
(1)グループ名称を記入する
A1、A2セルにグループ名称を記入します。これが、データを分割するグループです。
(2)CSVファイル名を記入する
次に、A2、B2セルから読み出したいCSVファイルのファイル名称を記入してください。
(3)グループ数とファイル数を記入する
E2にグループ数、E3にファイル数を記入します。この値に従って、グラフ描画時の表示内容を決定します。
(4)ボタンの配置
最後に、ボタンを配置します。ボタン作成は、「開発」→「挿入」→「フォームコントロール」のボタンを選択し、シートをクリックします。さらに、ボタン名称を「アプリ実行」に変更すればOKです。
Copyright © ITmedia, Inc. All Rights Reserved.