エクセルマクロ入門者・初心者の人向けにVBA学習用の練習問題を紹介します。
このページの概要は以下です。
・学習者のレベルに応じた勉強の方針を紹介
この動画では以下のことを目指して動画を作成しています。
以下で閲覧できる動画を上から順番に学んでいくことで、上記のことができるようになることを目指します。
目次
エクセルマクロVBAの学習の手引き
このページでは、エクセルマクロ学習者がVBAを勉強を進めるための助けになるような練習問題を紹介します。
練習問題の構成
このページでは、以下の5つのレベルに分けて練習問題を準備しています。
レベル2. 入門
レベル3. 基礎
レベル4. 発展
レベル5. 応用
学習者の状況に合わせて、どのレベルか勉強を始めるかを選択することを推奨します。
学習者のレベルに応じた勉強の進め方
・学習をやり直したい人は入門や基礎から
・レベルを高めたい人は発展や応用から
それでは以下で練習問題や練習動画を紹介します。
レベル1. 導入
– VBAについて全く分からない人向け
まずはエクセルマクロVBAのオリエンテーションから入ります。
導入1. エクセルマクロVBAのオリエンテーション|動画3つ
以下の動画で、「VBAとは何か?」から「マクロの使い方」について紹介しています。
1. エクセルマクロVBAを全力で解説してみた
2. エクセルマクロVBAで出来ること
3. エクセルマクロの編集方法やVBEの使い方を解説
導入2. エクセルマクロVBAの基礎知識|動画5つ
エクセルマクロVBAの基礎知識や使い方を紹介します。
1. エクセルマクロを読みときは、この2つのルールを徹底しよう
2. エクセルマクロの書き方ルール1|数字、文字列、日付の書き方
3. エクセルマクロの書き方ルール2|数字や日付の計算・文字列の結合
4. エクセルマクロの変数とは?使い方(3ステップ)と3つのメリットを徹底解説
5. エクセルマクロがよく分かる!変数とForNext構文の組み合わせを解説!VBA初心者向け
導入3. マクロの自動記録|動画2つ
マクロの自動記録は知識ゼロからでも簡単なマクロを作成できる機能です。
マクロを理解する上で、役出つはずです。
1. マクロの自動記録の使い方1
2. マクロの自動記録の使い方2
おまけ. マクロを本格的に学ぶ前にやっておきたいことを紹介
レベル2. 入門
– VBAを本格的には書けるようになりたい人向け
初心者でも理解しやすい簡単な課題を動画で解説しています。
入門1. エクセルVBAで合否判定マクロを作る|動画5つ
最初は簡単な事例として、合否判定のマクロ作成を進めていきます。
簡単な事例ではありますが、これからレベルアップしていくための基本的な考えが詰まっているので、ぜひ勉強してみることをオススメします。
1. エクセルVBAで合否判定マクロの作る(概要紹介)
2. エクセルVBAのIF~Else文の作り方を解説
3. エクセルVBAのFor~Next文の作り方を解説
1-4. エクセルVBAの変数の使い方・作り方を解説
1-5. エクセルVBAの最終行を自動取得する方法を解説
入門2. エクセルVBAで件数をカウント|動画4つ
エクセルVBAで件数をカウントしたり合計値を算出したりしていきます。
数字を計算する作業をマクロ化したい人はぜひ勉強してみることをオススメします。
1. エクセルマクロVBAで件数カウント・合計数算出マクロを作る(概要紹介)
2. エクセルVBAでシート指定して件数カウントする方法
3.エクセルVBAで合計値を算出する方法(コピペで効率的に作成)
2-4. エクセルVBAのオブジェクト変数とは?
入門3. エクセルVBAで項目別に新しいシートを作成してデータを転記|動画3つ
転記マクロの作成方法です。
日常的にデータ転記する作業がある人は、この動画を見て勉強すればメンドウな作業から解放されるはずです。
1. エクセルマクロVBAでデータ項目別にシート作成して転記(概要紹介)
2.エクセルマクロVBAで項目別にデータ転記するマクロの作り方
3.エクセルマクロVBAで不要なシートをまとめて削除する方法
補足. Youtubeチャンネルについて
パソコンスキルの教科書ではYoutubeチャンネルを通じてマクロ作成のノウハウから仕事で役立つ知識を紹介しています。
Youtubeでしか提供していない情報もありますので、興味がある人はご覧ください。
入門4. VBAでエクセル関数を作ってみる|10つ
VBA初心者にとって、エクセル関数を題材にしたVBAプログラムは学ぶのに適しています。
その理由はエクセル関数は関数の結果をイメージしやすいからです。
たとえばエクセル関数のIFは「=IF(B2=”X”,”該当”,”非該当”)」というように入力します。これでセルB2が「X」だったら「該当」を出力し、そうではないなら「非該当」を出力します。
このように動作の結果が見えているため、過程をVBAプログラムで作ることに専念できるのです。
解答が分かっている設問を解いていくので、躓く可能性が低く、レベルアップしやすいというわけです。
一方でエクセル関数をVBAを作成しても、実際に仕事を効率化できるレベルのものにはなりません。
以下でファイルをダウンロードできます。
ダウンロードできるファイルには以下の関数を紹介しています。
事例1|SUM関数
事例2|IF関数
事例3|COUNTIF関数
事例4|COUNTIFS関数
事例5|SUMIF関数
事例6|SUMIFS関数
事例7|VLOOKUP関数
事例8|SUMPRODUCT関数
事例9|SUMIFS関数(日付の比較)
事例10|COUNTIF関数(ワイルドカード)
以下のリンクからそれぞれの回答(プログラム解説)を確認できます。
ExcelマクロVBAでSUM関数を作成(最終行まで自動計算)
ExcelマクロVBAでIF関数を作成(条件付き書式のように文字列を赤くする)
ExcelマクロVBAでCountIf関数を作成(件数をカウントする)
ExcelマクロVBAでCountIfs関数を作成(複数条件に合致する件数をカウント)
ExcelマクロVBAでSUMIF関数(条件合致した数値を合計)を作成
ExcelマクロVBAでSUMIFS関数(複数条件に合致した数値を合計)を作成
ExcelマクロVBAでVlookup関数を作成(マスターデータを自動参照)
ExcelマクロVBAでSumproduct関数を作成(条件に合うデータを自動計算)
ExcelマクロVBAである特定の文字列が含まれる件数をカウント(Instr関数)
レベル3. 基礎
– VBAについて実践的な経験をしたい人向け
エクセル仕事をマクロで処理する内容を紹介していきます。
各ページからファイルダウンロード可能で、プログラム解説も各ページで詳細に行っています。
基礎1. エクセルの転記作業をVBAで実行|5つ
エクセルの転記作業をVBAで処理する内容です。
1. エクセルマクロVBAでデータ項目別にシートコピーし自動転記
2. マクロVBAでエクセルの不要シート(複数)を一斉削除
3. VBAでエクセルデータを項目毎に別ファイルへ転記
4. VBAでフォルダ内の不要ファイルをまとめて削除|マクロをダウンロード可
5. エクセルマクロVBAでデータを月別にシートを分ける
基礎2. エクセルの集計作業をVBAで実行|7つ
エクセルの集計作業をVBAで処理する内容です。
1. エクセルマクロVBAで集計|月末処理のデータ計算を自動化|サンプル付
2. エクセルマクロVBAで商品(製品)別に売上集計|ランキング順位も自動出力
3. マクロVBA|エクセル一覧表で複数条件に合致したデータを抽出して表示
4. エクセルマクロでデータをQ別(四半期ごと)の合計を出力|VBAサンプルをダウンロード可
5. エクセルマクロでデータを月別計算して表に出力|VBAサンプルをダウンロード可
6. エクセルマクロでデータを日別に合計し表に出力|VBAサンプルをダウンロード可
7. エクセルマクロで週ごとにデータを合計し表に出力|VBAサンプルをダウンロード可
基礎3. エクセルの確認作業をVBAで実行|5つ
エクセルの確認作業をVBAで処理する内容です。
1. エクセルマクロVBAで色の塗りつぶしがない行や列の表示・非表示を切替
2. VBAでエクセル内の複数シートのデータを一つにまとめる(集約)
3. エクセルマクロVBA|セルにデータ入力して別シートに自動で蓄積させる
4. エクセルマクロで毎日(月別)の作業用チェックリストを自動作成・印刷
5. エクセルマクロVBAで毎週の作業チェックリストの作成・印刷を自動化
追加. エクセルマクロVBAでガントチャート作成して進捗管理する方法|作り方やフリーテンプレートも公開
レベル4. 発展
– VBAを使って仕事の仕組み作りをしたい人向け
エクセルVBAを使って、効率化できる範囲を広げて仕事を仕組み化していくことを目指す内容を紹介します。
発展1. 定型作業をVBAで実行|3つ
定型作業をVBAで処理する内容です。
1. エクセルVBAで請求書PDF作成|複数の取引先別に自動転記(マクロテンプレートあり)
2. VBAでエクセル申請フォームからデータ登録・蓄積の仕組みを作る
3. VBAで英語翻訳を自動化!エクセルの文章をGoogle翻訳するツール紹介
発展2. Outlookメール作業をVBAで実行|7つ
Outlookのメール業務をVBAで実行します。
1. VBAでメール作成・送信!エクセルマクロでOutlook操作する方法|
2. エクセルVBAでOutlookメールにハイパーリンク設定|HTMLリンクでFile開く
3. VBAでOutlookメールに複数の添付ファイル(位置指定)を送信
4. VBAで複数Outlookメールを個別作成し一斉送信|添付ファイルも付ける
5. Excel×Outlook|VBAでリマインドメール送信作業を効率化
6. Excel×Outlook|VBAでエクセル表をメールに貼り付け通知
7. エクセルマクロVBAでOutlook受信メールを一覧に!添付ファイルも保存
発展3. Word資料作成をVBAで実行|5つ
Word資料作成の業務をVBAで実行します。
1. エクセルマクロVBAでWord連携!ワード操作して差し込み印刷(コード付)
2. VBAでワード操作!エクセル表をコピーしてWordに貼り付ける
3. エクセルVBAでWordにデータを差し込み置換してPDFに変換・作成
4. エクセルマクロVBAで資料送付状(Word)の作成・印刷を効率化
5. VBAでWord議事録メモを作成して最前面表示!ファイルコピーと一覧化で整理整頓
発展4. エクスプローラー(フォルダ)操作をVBAで実行|9つ
フォルダの作成や削除などの業務をVBAで実行します。
1. VBAで複数フォルダを階層別に一括作成|エクセルマクロでサブフォルダも生成
2. VBAでフォルダ内のファイル名を取得!再帰的に階層別にサブフォルダも対象にしてエクセルへ一覧を出力
3. VBAでフォルダ内のフォルダ名・ファイル名を一括変更(まとめて変換)
4. VBAでフォルダ内のエクセルファイルを全てに処理するマクロを紹介
5. VBAでフォルダ内の全てのエクセルデータを一つにまとめる(集約)
6. VBAでFSOを使ってフォルダ存在チェックしてフォルダ作成
7. VBAでダイアログからフォルダ選択し複数ファイル名を取得・表示|エクセルに一覧化
8. VBAでフォルダ内のファイルや特定フォルダ(ファイルごと)一括削除
9.VBAで複数フォルダのセットを一括コピー(フォルダの名前変更も実行)
発展5. ウェブ情報取得をVBAで実行|7つ
インターネットのウェブ情報取得業務をVBAで実行します。
1. VBAでIE操作!インターネットを開いて自動でウェブデータ取得する方法(事例とコード付)
2. VBAでヤフオクのデータを取得しExcelへ出力!IE操作マクロのテンプレート付
3. エクセルVBAでChatwork(チャットワーク)にメッセージを自動通知
4. VBAでChatworkのメッセージをまとめて取得してエクセルに書き出す
5. エクセルVBAでSlackにAPIを通じてメッセージを自動通知
6. VBAで天気予報情報をWebAPIを通してウェブ情報を取得しエクセルへ出力
7. VBAのHTTPリクエストでウェブページのタイトル(件名)を取得しエクセル出力
レベル5. 応用
– VBAについてさらにレベルアップしたい人向け
応用1. VBAを使ってチャレンジ|8つ
VBAを使ってとことんやってみたい人向けの内容です。
1. エクセルVBAでChatworkに定期通知する仕組みを作ってみる
2. VBAで天気予報データをWebAPIで取得しJSONパースでエクセルへ出力
3. マクロVBAで請求書PDFの表データをエクセル台帳に自動転記
4. マクロVBAでPDFの全テキスト情報をエクセルに書き出し一覧表示する
5. 複数PDFファイルを一括変換!エクセル/ワード/パワポ/テキスト化するマクロVBA
6. エクセルVBA×Text|テキストファイルの文字列を一斉置換・変換
7. VBAでエクセル表をHTML(table,tr,td)でテキストファイルに変換して出力
8. エクセルマクロVBAで無料メルマガ配信(メール定期通知)スタンドを作る
Excel VBAについて詳しく理解したいなら
上記では、このページで紹介していないVBAプログラムについて紹介しています。
またしっかりと腰を据えて勉強したい人は以下のページで学習教材を紹介しています。
上記のリンクでは、私の経験から勉強にオススメの教材を紹介しています。
エクセル以外で仕事を効率化する方法
エクセル以外で仕事を効率化する方法を紹介します。
Pythonで自動化できること
上記でPythonでExcel仕事を効率化するページを紹介しました。
しかしながら、Pythonで出来ることはExcel作業の自動化だけではありません。
Word, Outlook, PDF, Googleスプレッドシート, Gmail, 様々な外部アプリなど多岐にわたります。
その汎用性でいえば、VBAより優れています。というのもVBAは主にMicrosoft Officeアプリの作業自動化を得意としているからです。
Pythonで出来る操作は多岐にわたりますが、なかなかイメージしづらい人も多いです。
そこでPythonを仕事で活用していく方法を事例をまじえながら紹介していきます。
GASで自動化できること
Googleのアプリケーションを使用する場合は、GAS(Google Apps Script)を使用することをお勧めします。
以下でGASでできることを紹介しています。