エクセルマクロVBAの作業効率化の代表的なものとして、転記マクロがあります。
マクロを上手く活用すれば、データ一覧をもとに、条件に合致する情報のみをシート別やブック別に転記していくことが可能です。
またVBAプログラムを工夫すれば、データを蓄積する仕組みを作ることもできます。
・転記マクロのVBAプログラムを解説
以下で説明していきます。
目次
このページで紹介する転記マクロの一覧
このページで紹介する事例は、リンクしているページからVBAプログラムを解説したり、マクロテンプレートをダウンロードしたりできます。
事例2. エクセルマクロVBAでデータを月別にシートを分ける
事例3. マクロVBAでエクセルの不要シート(複数)を一斉削除
事例4. VBAでエクセル内の複数シートのデータを一つにまとめる(集約)
事例5. VBAでエクセルデータを項目毎に別ファイルへ転記|マクロテンプレート
事例6. VBAでフォルダ内の不要ファイルをまとめて削除|マクロをダウンロード可
事例7. VBAでフォルダ内の全てのエクセルデータを一つにまとめる(集約)
事例8. VBAで別ブックから転記(マスタファイルを参照して元ブックに出力)
事例9. エクセルVBAで請求書PDF作成|複数の取引先別に自動転記(マクロテンプレートあり)
事例10. マクロVBA|エクセル一覧表で複数条件に合致したデータを抽出して表示
事例11. エクセルマクロVBA|特定文字列(複数可)を含む行だけ別シート抽出
事例12. エクセルマクロVBA|特定の文字列を含む列のみ別シート抽出
事例13. エクセルマクロVBA|セルにデータ入力して別シートに自動で蓄積させる
事例14. VBAでWord議事録メモを作成して最前面表示!ファイルコピーと一覧化で整理整頓
事例15. VBAでエクセル申請フォームからデータ登録・蓄積の仕組みを作る
以下の各事例について紹介していきます。
別シートに条件ごと(ifを使って)に転記|データ最終行まで処理を繰り返す
事例2. エクセルマクロVBAでデータを月別にシートを分ける
事例3. マクロVBAでエクセルの不要シート(複数)を一斉削除
事例4. VBAでエクセル内の複数シートのデータを一つにまとめる(集約)
以下で詳しく説明します。
事例1. エクセルマクロVBAでデータ項目別にシートコピーし自動転記
エクセル内の情報を別ファイルへ転記する作業があります。
たとえばエクセルのデータを項目ごとに別シートへ転記するような場合です。
このような作業は手入力でも可能ですが、項目が多かったり作業頻度が高かったりすると、大きな負担になります。
そこでボタン一つで、項目別にシート作成し、データ転記するマクロを解説します。
・コピーしたシートにデータを種類別に自動転記
・VBAプログラム入りのエクセルをダウンロード可能
以下のページで紹介しているVBAプログラムをの解説およびファイルのダウンロードが可能です。
事例2. エクセルマクロVBAでデータを月別にシートを分ける
エクセルのデータを月別に分けたいときがあります。
手入力でも可能ですが、データ数が多かったり更新頻度が高かったりすると、大きな負担になります。
そこでボタン一つでデータを月別にシート作成し転記するマクロを解説します。
・VBAプログラム入りのエクセルをダウンロード可能
以下のページで紹介しているVBAプログラムをの解説およびファイルのダウンロードが可能です。
事例3. マクロVBAでエクセルの不要シート(複数)を一斉削除
データ転記を行うエクセルを使っていると、不要なシートを一括削除したいときがあります。
しかし、マウスで一つずつシート削除をするのは面倒な作業です。
そこでエクセルマクロVBAを使って、不要なシートをボタン一つで削除する方法を紹介します。
不要なシートが10個であろうが100個であろうが、一瞬で作業が終わるのでとてもラクに仕事を終わらせることができます。
以下のページで紹介しているVBAプログラムをの解説およびファイルのダウンロードが可能です。
事例4. VBAでエクセル内の複数シートのデータを一つにまとめる(集約)
エクセル内の複数シートのデータを一つに集約にする作業があります。
このページでは、エクセルシートの各データを一つに集約するVBAプログラムを紹介します。
・VBAプログラム入りのエクセルをダウンロード可能
以下のページで紹介しているVBAプログラムをの解説およびファイルのダウンロードが可能です。
エクセルで転記作業をマクロボタンで実行する
このぺージで紹介しているマクロの多くは、VBAプログラムをボタンに登録しています。
ボタンにVBAプログラムを登録することで、ボタンを押下しプログラムを実行することができます。
ボタンをVBAプログラムを設定したい場合は、以下で動画も交えて設定方法を紹介しているので、そちらをご覧ください。
別ブックに条件ごとに転記
事例6. VBAでフォルダ内の不要ファイルをまとめて削除|マクロをダウンロード可
事例7. VBAでフォルダ内の全てのエクセルデータを一つにまとめる(集約)
事例8. VBAで別ブックから転記(マスタファイルを参照して元ブックに出力)
事例9. エクセルVBAで請求書PDF作成|複数の取引先別に自動転記(マクロテンプレートあり)
それでは以下で詳しく説明していきます。
事例5. VBAでエクセルデータを項目毎に別ファイルへ転記|マクロテンプレート
エクセル内の情報を別ファイルへ転記する作業があります。
たとえば、以下の項目毎にファイル別に情報を転記する作業です。
上記のA列の「型式」はバラバラの項目が順不同に並んでいます。
これを以下のように「a, b, c, d, … ,j」の型式毎に抽出して別のエクセルファイル(「a」~「j」)と転記して保存します。
型式毎に新しいエクセルファイルとして保存します。
このページでは上記のような新しいエクセルファイルへの転記作業を行うマクロを解説します。
以下のページで紹介しているVBAプログラムをの解説およびファイルのダウンロードが可能です。
事例6. VBAでフォルダ内の不要ファイルをまとめて削除|マクロをダウンロード可
VBAを使うと、フォルダ内の不要なファイルをまとめて削除できます。
・VBAプログラム入りのエクセルをダウンロード可能
以下のページで紹介しているVBAプログラムをの解説およびファイルのダウンロードが可能です。
事例7. VBAでフォルダ内の全てのエクセルデータを一つにまとめる(集約)
フォルダ内のエクセルデータを一つに集約にする作業があります。
このページでは、複数のエクセルファイルを一つに集約するVBAプログラムを紹介します。
・VBAプログラム入りのエクセルをダウンロード可能
以下のページで紹介しているVBAプログラムをの解説およびファイルのダウンロードが可能です。
事例8. VBAで別ブックから転記(マスタファイルを参照して元ブックに出力)
このページで紹介するのは、製品コードの情報をもとに、製品名や単価を取得するプログラムです。
今回は、以下のようなデータ一覧を入力された元ブック(Data.xlsm)を事例にします。
このとき、参照先となるブック(Master.xlsx)をあらかじめ準備しておきます。
元ブックの製品コードをキーにして、参照ブックの情報を取得していきます。
それでは以下で、具体的なプログラムの解説をしていきます。
事例9. エクセルVBAで請求書PDF作成|複数の取引先別に自動転記(マクロテンプレートあり)
エクセルを使って請求書や見積書を手入力で作成している人は少なくありません。
このとき、膨大な量の請求書を手入力で作成するとなると、記載ミスを引き起こす可能性があります。また、量が多いために計算間違いをしたりしてしまうことがあります。
しかし、このようなミスはエクセルマクロVBAを活用することで大きく改善することができます。
そこで、請求書や見積書をエクセルマクロVBAで作成する方法を解説します。
・請求書はPDFとして作成し、所定フォルダへ保存
・請求書の締め日も調整可能(これは事前入力で対応)
・マクロ入りテンプレートダウンロード可能
以下のページで紹介しているVBAプログラムをの解説およびファイルのダウンロードが可能です。
データ検索して抽出
事例11. エクセルマクロVBA|特定文字列(複数可)を含む行だけ別シート抽出
事例12. エクセルマクロVBA|特定の文字列を含む列のみ別シート抽出
以下で説明します。
事例10. マクロVBA|エクセル一覧表で複数条件に合致したデータを抽出して表示
エクセル一覧表から、条件に合致するデータだけを抽出したいときがあります。
このような作業はフィルターを使えば、手作業でも可能です。
しかし抽出条件が複数だったり、データ件数や合計値を算出したりするとなると、マクロ化することで作業負担を軽減できます。
このページではエクセル一覧表から、複数条件に合致するデータのみを抽出して表示し、合計や件数を自動計算するマクロを作っていきます。
・条件に合致するデータの件数や合計値を算出
・VBAプログラム入りのエクセルをダウンロード可能
以下のページで紹介しているVBAプログラムをの解説およびファイルのダウンロードが可能です。
事例11. エクセルマクロVBA|特定文字列(複数可)を含む行だけ別シート抽出
以下のデータ一覧を事例にして複数の特定文字列(の内、1つだけでも)を含む行を自動抽出するVBAプログラムを紹介します。
このプログラムを実行すると、以下のように特定文字列を含む行のみを別シートへ書き出します。
ここでは対象文字列を「愛知」と「商品売却」の2つのキーワードとしています。
このキーワードもVBAプログラムの中で任意のキーワードを入力できるようにします。
詳しい解説は以下のページで行っています。
事例12. エクセルマクロVBA|特定の文字列を含む列のみ別シート抽出
以下のデータ一覧を事例にして複数の特定文字列(の内、1つだけでも)を含む列を別シートへ抽出するVBAプログラムを紹介します。
このプログラムを実行すると、以下のように特定文字列を含む行のみを別シートへ書き出します。
ここでは対象文字列を「ID」と「取引金額」の2つのキーワードとしています。
このキーワードもVBAプログラムの中で任意のキーワードを入力できるようにします。
詳しい解説は以下のページで行っています。
データ転記して蓄積していくマクロ
事例14. VBAでWord議事録メモを作成して最前面表示!ファイルコピーと一覧化で整理整頓
事例15. VBAでエクセル申請フォームからデータ登録・蓄積の仕組みを作る
以下で詳しく説明します。
事例13. エクセルマクロVBA|セルにデータ入力して別シートに自動で蓄積させる
VBAを使うとセルに入力したデータを別シートに蓄積させていくことができます。
今回はSheet1に入力したデータを、Sheet2の最終行に1行ずつ蓄積していくプログラムを紹介します。
・別シートの最終行へデータを蓄積
・VBA入りのエクセルファイルをダウンロード可能
以下のページで紹介しているVBAプログラムをの解説およびファイルのダウンロードが可能です。
事例14. VBAでWord議事録メモを作成して最前面表示!ファイルコピーと一覧化で整理整頓
VBAを使って議事メモ作成を効率化するツールを紹介します。
議事メモの作成そのものを効率化するというよりは、議事メモのテンプレートをVBAで呼び出し、所定のフォルダに保管する作業をVBAで自動処理させます。
これにより、毎回同じフォーマットの議事メモのテンプレートを使用できること、後で議事メモをフォルダから探す手間が省くことができること、といった恩恵を受けることができます。
・ミーティングごとに議事メモの保管先を分ける
・VBA入りのエクセルファイルをダウンロード可能
以下のページで紹介しているVBAプログラムをの解説およびファイルのダウンロードが可能です。
事例15. VBAでエクセル申請フォームからデータ登録・蓄積の仕組みを作る
エクセルの申請フォームを使って、データを蓄積していく仕組みを作っていきます。
このページで紹介する内容は、たとえば社内申請(稟議など)を想定しています。
まず申請者がエクセルにデータを入力したらボタンを押します。
そうするとそのデータ(申請情報)が管理表に自動で蓄積され、同時に申請情報を上司にOutlookメールで通知します。
このような仕組みはVBAで構築できるので、使い方とプログラムを紹介していきます。
・申請情報の内容をもとにメールを自動作成し、確認者(上司)へ通知
・VBAプログラム入りのエクセルをダウンロード可能
上記について紹介します。ファイルダウンロードだけではなくコード解説もしていきます。
Excel VBAについて詳しく理解したいなら
VBAを活用すると、仕事を効率化できる幅を広げることができます。
たとえば私が実際にVBAを活用して効率化してきた作業は以下の記事で紹介しています。
興味がある人は以下の記事もご覧ください。
動画でも解説しています。
エクセルマクロVBAで出来ることを15の事例で紹介|日常業務をラクにするヒントを見つけよう!
(音声が小さいので、ボリュームを上げてご覧いただければと思います)
VBAの勉強方法
私はプログラミング初心者からVBAを勉強を始めて少しずつレベルアップしていきました。
成長の過程は以下で紹介しています。
学習の過程では、意識すべきポイントがあります。
自分のレベルに合わせて、少しずつレベルアップしていくとより効果的に学ぶことができます。
以下のページで事例や動画を使いながら、エクセルマクロについて勉強できます。
上記のリンクでは、体系的にマクロを勉強できますので、興味がある人はご覧ください。