非プログラマのための仕事で使えるExcel VBA完全ガイド

非プログラマのための仕事で使えるExcel VBA完全ガイド

Excel VBA完全ガイドにようこそ!VBAをはじめとした業務自動化ツールを開発している吉池(@valmore_myoshi)です。

本ガイドは初心者を対象に記事形式でVBAの使い方を解説しています。タイトルに非プログラマとあるように、プログラミングは未経験、普段は事務や経理といったプログラマとは異なるお仕事をされている方を対象にしています。

初心者がVBAの開発準備や文法といった基礎を理解すること、そして、実際にExcel作業を自動化するときのマニュアルとして活用いただくことが本ガイドの目的です。

Excel作業はいたるところにありますが、VBAで自動化すれば作業時間を短縮できます。もっと楽に仕事ができるようVBAを習得する一助になれれば幸いです。

VBAを始める準備

Excel VBAを始めるためにはいろいろと準備が必要です。開発のための環境づくりやVBAを書きやすくする設定をしておきましょう。

【Excel VBA入門】VBAとは?開発をスムーズに始める初期設定と演習

VBAの基本文法

日本語と同じくVBAも一種の言葉です。「てにをは」が間違っていれば結果も変わってしまいます。VBAを使った話し方を一つひとつ学びましょう!

変数の基本

変数はデータを保管しておく箱です。さまざまなデータを管理する方法を学びます。

【Excel VBA入門】変数とは?図解とコード例から学ぶ基本的な使い方

条件分岐とループ処理(if, For, Do ~ Loop, Select Case)

条件に応じて処理を分けるときは条件分岐、そして繰り返し同じ処理をするときに役立つループ処理について解説しています。

【Excel VBA入門】If文の使い方を解説!条件の書き方をコード例で学ぶ

【Excel VBA入門】For文の使い方。繰り返し処理の基本を学ぶ

【Excel VBA入門】Do While ~ Loop文の使い方。条件付きループを学ぶ

【Excel VBA入門】Select Case文の使い方。複数条件をスッキリ書く!

データをまとめて管理(配列・Collection・Dictionary)

データをまとめて管理する方法はいくつかあります。基本は配列ですが、サイズ変更が頻繁にあるようならCollectionがオススメ!連想配列であればDictionaryを使いましょう。

【Excel VBA入門】配列とは?二次元配列を使った高速化手法も解説

【Excel VBA入門】Collectionとは?サイズ変更に強いリストの作り方

【Excel VBA入門】Dictionaryとは?データ管理が楽になる連想配列の作り方

オブジェクトを理解する

おそらく初心者にとって最初の壁となるオブジェクト。持てる範囲の力を使って分かりやすさ重視で書きました。

【Excel VBA入門】オブジェクトとは?初心者向けに概念をやさしく解説!

セル・シート・ブックの基本

セルやシート、ブックはExcel操作の基本です。自動化するときも頻繁に出てくるので基本操作を覚えましょう!

セルへのアクセス

セルへのアクセスはRangeとCellsの2つ方法があります。どちらがより良いというのではなく、使い分けが肝心です。

【Excel VBA入門】Rangeでセル範囲を指定、操作する方法

【Excel VBA入門】Cellsによるセル範囲の指定、操作方法

ワークシートの操作

シートの追加、削除、コピー、移動などなど、実務で使う基本操作を網羅しています。

【Excel VBA入門】Worksheetオブジェクトを使ったシート操作の基本

ワークブックの操作

ブックの操作を覚えれば外部ファイルとデータをやり取りできます。複数ファイルを扱う場合は必修です!

【Excel VBA入門】Workbookオブジェクトを使ったワークブックの基本操作

Excelデータの処理

Excelデータをそのまま使うことはほぼないでしょう。必ず整形作業があるはずです。実践でよく使うデータ処理に役立つTipsをお届け!

Find, FindNextで目的のセルを探す

膨大なデータから目的のセルを探すのは一苦労です。そんなときに役立つFindメソッドを取り上げています。複数のセルを検索したいときはFindNextメソッドを使いましょう!

【Excel VBA入門】Findメソッドで条件に一致するセルを検索する方法

【Excel VBA入門】指定範囲から複数セルを検索するFindNextの使い方

入力規則の操作

セルに入力する値に制限をかける方法はさまざまです。データ型を数値や文字列に絞ったり、ドロップダウンリストで選択肢を固定する方法があります。

ドロップダウンリストの作り方

入力の手間を省いたり、意図しない値の入力を防ぐドロップダウンリスト。基本的な作り方と複数リストの連動方法を解説しています。

【Excel VBA入門】ドロップダウンリストの作り方。複数リストの連動方法も解説

ファイルの操作

Excelファイルに限らず、テキストファイルやCSVファイルを使う場面に遭遇することもあるでしょう。ファイルを組み合わせて扱う際に参考にしてください。

ファイル操作の基本FileSystemObject

ファイル操作の基本といえばFileSystemObject。ファイルやフォルダの操作に特化したオブジェクトなので、覚えておいて損はありません。

【Excel VBA入門】FileSystemObjectを使ったファイル操作の基本を解説

CSVの読み込みと書き出し

システムからデータをエクスポートするときによく使われるCSV。出力したCSVはExcel上で加工することも多いと思います。VBAでも取り込むこともできるので基本的な読み込みと書き出し方法を覚えましょう!

【Excel VBA入門】基本的なCSVファイルの読み込みと書き出し方法

マクロのパーツ化

VBAの規模が大きくなるとコード量も増えてきますが、一つのSubプロシージャ内にすべて収めようとすると可読性が低下します。そのためSubプロシージャやユーザー定義関数を使ってコードを分割しましょう。

Subプロシージャを分割して使う

SubプロシージャはCallステートメントを使って呼び出せます。引数を設定すれば呼び出し先に値を渡すことができ、処理の分担に役立ちます。

【Excel VBA入門】マクロをパーツ化!Subプロシージャを分割して使う方法

ユーザー定義関数の作り方

ユーザー定義関数は一連の処理をまとめたもので、コードを再利用できます。Subプロシージャとは異なり戻り値を指定できます。一度作成してしまえば、Excel上からワークシート関数として呼び出すことも可能です。

【Excel VBA入門】ユーザー定義関数の作り方。Functionプロシージャを理解する

まとめ

非プログラマのための、と銘打ってVBAを解説しましたが、やはりプログラマではない事務や経理の方こそExcel作業が多く、VBAを覚える価値があると考えています。

最後まで記事をお読みいただけた方であれば、実務のExcel作業も楽々と自動化できるはずです!時間のかかるExcel作業を自動化して、より付加価値の高い作業に注力できる手助けになれば幸いです。