※この記事中のアプリをダウンロードするには、Microsoft社製のExcel®とが必要になります。
Excel VBAでデータの間引きマクロを作成しました。複数のCSVファイルを1つのExcelファイルにまとめて読み込むマクロはこちら(Excel VBA ファイル一括読み込みマクロ)を参照して下さい。
概要
最近は計測機器などでデータを取得した際、csv形式のデータファイルで出力されることが多くなってきたと思います。でも時々サンプリングタイムを間違えて短く設定しすぎたり、長時間データを取りすぎたりしてデータが大きくなり過ぎたりする場合があります。そういう時はこのマクロを使用してもらえれば、データを一定間隔で間引いてくれるのでファイルサイズも小さくなります。
使用方法
まずは、このページの上部の「mabiki-macro」ダウンロードします。ダウンロードしただけではうまく動かないので、ご自身のPCの適当なところ(デスクトップ等)に保存します。間引くサンプルは縦方向に積みあがっているものがいいのですが、それもこのページ上部に用意しました。「Example」というファイルをダウンロードして、「mabiki-macro」と同じようにご自身のPCの適当なところに保存して下さい。
両方のExcelファイル(「Example」と「mabiki-macro」)を改めて立ち上げて下さい。間引きたいデータファイルを画面上に出して、①「開発」タブを選んで、②「マクロ」リボンをクリックします。
そうすると、マクロフォームが表示され「mabiki-macro」に設定した間引きマクロが既に選択されているので、右側の「実行」ボタンを押します。
次に「間引きパラメータ」フォームが出てきて「開始行」と「間引き行数」の空欄が現れるので、必要な行数を入力して最後に右下の「OK」ボタンを押します。
ここでは、例として「開始行」に「1」、「間引き行数」に「1」を入力して「OK」ボタンを押します。
「開始行」で「1」、「間引き行数」で「1」なので、「偶数行」が間引かれているのが分かると思います。
「開発」タブが表示されていない場合の対処方法
Excelの初期設定状態によっては、マクロを動作させるのに必要な「開発」タブが表示されない場合がありますので、その際の対処方法を示します。
まず、Excelの上部のタブメニューの①「ファイル」を押します。すると「ホーム」画面に遷移しますので、左下にある②「オプション」を押します。「Excelのオプション」フォームが出てくるので、左のメニューから③「リボンのユーザー設定」をクリックします。左側に「リボンのユーザー設計」項目から④「☑開発」項目にチェックを入れると「開発」タブが現れます。
想定されるエラー
・データが連続していない場合
データの入ったセルが途切れていると間引きマクロがそこで止まってしまいます。データの入ったセルが連続して埋められていることを確認して下さい。
また、測定器などで記録されたcsvファイルの場合、先頭の数行は日時や測定器のデータなどのヘッダー情報が記録されている場合があります。そこから数行の空白行を置いて測定データが記録されている場合がありますので、csvファイルの構成などにご注意下さい。
・「開始行」「間引き行数」を入力しないで「OK」ボタンを押した場合
間違えて「開始行」「間引き行数」の欄に数字を入れずに「OK」ボタンを押してしまうとエラーフォームが出てきてしまいます。その場合には「終了」ボタンを押してもらえれば最初の状態に戻ります。
マクロが動作しない場合の対処方法
ウィルス対策として、ネット上からダウンロードしたOfficeソフトが上手く動作しない場合があります。「マクロが使えない」と警告メッセージが出た場合は、次の手順で対応して下さい。
1.Excelファイルを右クリックして、メニューを表示します。そして、メニューの一番下の「プロパティ」を選択します。
2.「プロパティ」が表示されるので、下部の「□許可する(K)」←①にチェックを入れ,下部の[OK]ボタン←②を押します。
これで、マクロが動作すると思います。
コメント