見出し画像

エクセルを使って抽出マクロを作る方法

割引あり

大量のデータから特定の情報を抽出したい!

こんな状況ってありますよね。


私は電気設備を保守管理する会社に勤めていた頃、

何万件とある電気設備台帳から特定のデータだけを抽出して資料を作成する

というエクセル業務を行っていました。


何百件とある顧客データの中から、「〇〇会社」を抽出したい!「注意」というテキストが含まれるデータを抽出したい!

でも、

フィルターを使ってもうまく探せない。。。「Ctrl+F」で探すのがめんどう。。。


データ量が膨大過ぎて目的の情報を探すだけでもめちゃくちゃ時間がかかっていました。


こんな問題を「抽出マクロ」使って解決しました。


「抽出マクロ」を導入してから、

3時間以上かかっていた情報抽出作業が30分程度で完了

するようになりました。


作業時間がめちゃくちゃ短縮され、他の業務に専念することが可能に!!


この記事では

『抽出マクロ』の概要、使い方、ダウンロードについて

詳しく解説しています。


私と同じような悩みを抱えている方は是非チェックしてみてください。



『抽出マクロ』とは

抽出マクロとは

大量のデータから欲しいデータを取り出す!

処理を自動化するマクロです。


どのような処理ができるのか下記の動画で紹介しています。


どんなエクセル業務にも対応できるよう『3種類の抽出マクロ』を開発しました。

  • 【】内のテキストを抽出するマクロ

  • 指定するテキストが含まれるデータを抽出するマクロ

  • 日付が一致するデータを抽出するマクロ


それぞれの『抽出マクロ』の使い方を詳しく解説していきます。


【】内のテキストを抽出するマクロ

『【】内のテキストを抽出するマクロ』は

一覧表にある全てのデータを検索し、【】内にあるテキストだけを抽出する

処理をします。


処理内容としてはこんな感じ

画像2


A列の「設備名称」を全て検索し、【】内のテキストをE列に一瞬で抽出しています。


今回は【】という記号を検索対象にしていますが、

「」や()のような記号に変更することもできます。


使い方は、

【】を検索するコードを設定し実行ボタンを押下する

たったこれだけ!


【】を変更する方法が以下になります。

現在設定されているVBA(抜粋)

ds1 = InStr(Cells(i, 1), "【")
ds2 = InStr(Cells(i, 1), "】")


このコードを以下のように変更します。


「」の検索に変更したVBA(抜粋)

ds1 = InStr(Cells(i, 1), "「")
ds2 = InStr(Cells(i, 1), "」")


めちゃくちゃ簡単ですよね。



指定するテキストが含まれるデータを抽出するマクロ

『指定するテキストが含まれるデータを抽出するマクロ』は

一覧表にある全てのデータを検索し、指定したテキストが含まれるデータを抽出し数量の集計をする

処理をします。


使い方がこちら

画像1

H2セルに抽出したいテキストを入力し、実行ボタンを押下する

たったこれだけです。


上図では、

「0001」というテキストをH2セルに入力しマクロを実行

しています。


すると、

A列のデータを全て抽出し、E列に「設備名称」、F列に「数量」が表示

されます。


「0001」というテキストではなく、

「高圧ケーブル」や「ブレーカ」というテキストに変更して抽出

することも可能。


マクロ実行と同時に合計数量を表示する設定になっているので、集計作業の効率を格段にアップさせることができます。


日付が一致するデータを抽出するマクロ

『日付が一致するデータを抽出するマクロ』は

一覧表の日付データを検索し、指定した日付と一致するデータを抽出する

処理をします。


使い方がこちら

画像3

H2セルに抽出したい日付を入力し、実行ボタンを押下する

たったこれだけです。


上図では、

「2019/5/9」という日付をH2セルに入力しマクロを実行

しています。


すると、

C列の日付データを検索し、E列に「設備名称」、F列に「数量」が表示

されます。


抽出マクロの設定方法

上記で記載している『抽出マクロ』の設定の方法を紹介します。


1.VBAを開く

画像4


2.標準モジュールを作成

画像5


3.標準モジュールに抽出VBAを入力

画像6


4.Sheetにボタンを作成

画像7


5.ボタンにマクロを登録

画像8

以上で『抽出マクロ』が使えるようになります。


マクロ導入の注意点

いろんな考え方を持つ人が働く職場ではマクロの導入に注意が必要です。


なぜなら、

どんなに優れたマクロであっても、導入したくない!時間をかけて手作業でやることに意味がある!!

という考え方の人がいるからです。


勤めていた職場には、以下のような考えの上司がいました。

  • マクロのコードが正しいかどうか判断できないから導入は許可できない

  • 時間と手間をかけた分、知識と経験になる

  • マクロ開発者が転勤になったら使えなくなるから最初から導入しない方がいい


上記のような意見を言われたとき

「え!?効率化をして何が悪いの?正しいコードかどうか判断しなくていいから提出された成果物を1から手作業でチェックして判断してくださいよ。」

と心の中で反論していましたが、考え方は人それぞれなので仕方ありません。


なので、私は自分が操作するエクセルにだけマクロを導入することに!


マクロを使って10分で作業しようが、手作業で1時間かけて作業しようが成果物に違いはないので上司にバレる心配もありません。


『抽出マクロ』は

データを削除したり、内容を書き換えたりする処理は含まれていないので誰にも迷惑をかけることなく検索作業の効率をアップ

させることができます。


『抽出マクロ』を導入して職場の全員が活用してくれれば、検索作業の効率が飛躍的にアップすることは間違いありません。

仮に、アンチマクロ派がいても個人的に活用すれば問題ありません。


アンチマクロ派には報告せず、こっそりエクセル業務の効率をアップさせて鼻で笑ってやりましょう。


抽出マクロはこんな人におすすめ

『抽出マクロ』の導入は以下のような方におすすめです。

  • 大量のデータから特定のデータを抽出したい

  • フィルター機能を使っても目的のデータを探すまで時間がかかる

  • 元データをマクロで削除、編集はしたくない


こんな方は絶対に『抽出マクロ』の導入がおすすめです。


導入してみて、「やっぱり手作業の方がいい」となれば

マクロを使わずに今まで通り作業すればいいだけ。


導入してデメリットとなることは一切ありません。


『抽出マクロ』を使って、検索業務の効率をアップさせていきましょう。

『抽出マクロ』のダウンロード


本noteで紹介していきた『3つの抽出マクロ』が設定されたエクセルファイルをダウンロードすることができます。


  • 現在行っているエクセル業務に応用させるもヨシ

  • 設定されているコードを抜き取って活用するもヨシ

  • VBA学習ようとして設定されているコードを活用するもヨシ

いろんな活用方法があります。


エクセル業務の効率をアップさせたい!とお考えの方は是非『抽出マクロ』をゲットしてお使いください。


ここから先は

322字 / 1ファイル
この記事のみ ¥ 300〜

この記事が気に入ったらチップで応援してみませんか?