いちばんやさしいExcelVBAの教本 人気講師が教える実務に役立つマクロの始め方

知識ゼロでもOK!

前半は内容も易しく初心者向けですが、後半から少し難易度が上がります。ある程度Excel VBAを触ったことのある人が復習として用いるのに適した本と言えます。入門書として使う場合には、他の参考書と併用するとよいでしょう。

はじめに

たくさんのExcel VBA関連書籍の中から、本書を手に取っていただき、ありがとうございます。
すでに多くの類書が存在しているにも関わらず、本書を書かせていただいたのには、大きく2つの理由があります。1つは、Excelユーザーが持つスキルを活用するような入門書がなかったからです。Excel VBA学習者の多くはExcelの操作に習熟しています。Excelを使うスキルの中には、プログラミング学習に応用できる部分が、実はあります。しかし、そのようなExcelユーザーのスキルを意識したExcel VBA入門書を、私は見た記憶がありません。

もう1つは、オブジェクト関連のコードについて真正面から解説した書籍が、ほとんど存在しなかったからです。Excel VBAを勉強した経験のある方ならプロパティ・メソッドといった単語に見覚えがあるでしょう。これらオブジェクトに関するコードを理解するには、英文の読解と同じように、コードが何であるのか、実行すると何が起きるのか、読み解かなければなりません。しかしそういった解説が詳細に行われている書籍を、ほとんど見たことがありません。

この2つが、本書を書こうと決意した理由です。前者は主に本書のChapter7までに、後者はChapter8以降に反映されています。
執筆にあたっては、多くの方のお世話になりました。まず、私のセミナーを受講いただいた方からのフィードバックがあったからこそ、本書は特徴的になったと考えています。編集にご尽力いただいたインプレスの柳沼俊宏さんとリブロワークスの大津雄一郎さん、澤田竹洋さんには、私の問題意識を明確にしていただきました。VBAについて深く理解した上で、初学者が戸惑うポイントもよくご存知のthomさん(http://thomhateblo.jp/)と、Microsoft MVP for Office Developmentのきぬあささん(https://www.ka-netorg/blog/)にレビューをお願いし、貴重なコメントと共に、本書を世に出す勇気をいただきました。この場をお借りして、みなさんにお礼申し上げます。

本書をご覧になり、Excel VBAにチャレンジしてみよう、かつて挫折したけれどもう一度トライしてみようと思う方が、少しでも増えれば幸いです。トライ&エラーを繰り返しながら学習する様子を、日々見せてくれる1歳の息子と、愉快な妻に感謝しつつ。

2017年12月伊藤潔人

「いちばんやさしいExcel VBAの教本」の読み方

「いちばんやさしいExcel VBAの教本」は、はじめての人でも迷わないように、わかりやすい説明と大きな画面でExcel VBAを使ったマクロの妻を方を解説しています。

「何のためにやるのか」がわかる!
薄く色の付いたページでは、プログラムを書く際に必要な考え方を解説しています。実際のコーディングに入る前に、意味をしっかり理解してから取り組めます。
タイトル
レッスンの目的をわかりやすくまとめています。
レッスンのポイント
このレッスンを読むとどうなるのか、何に役立つのかを解説しています。
解説
Webサイトを作る際の大事な考え方を、画面や図解をまじえて丁寧に解説しています。
講師によるポイント
特に重要なポイントでは、講師が登場して確認・念押しします。

「どうやってやるのか」がわかる!
コーディングの実践パートでは、1つ1つのステップを丁寧に解説しています。途中で迷いそうなところは、Pointで補足説明があるのでつまずきません。
手順
番号順に入力をしていきます。入力時のポイントは赤い線で示しています。また、一部のみ入力するときは赤字で示します。
ワンポイント
レッスンに関連する知識や知っておくと役立つ知識を、コラムで解説しています。

Contents

目次
いちばんやさしいExcel VBAの教本
人気講師が教える実務に役立つマクロの始め方

著者プロフィール
はじめに
本書の読み方
索引
本書のサンプルコードのダウンロードについて

Chapter1
マクロの学習を始める前に
Lesson01 [Excelマクロとは]ExcelマクロとはVBAで書かれた作業手順書です。
Lesson02 [マクロ記録の限界]マクロ記録機能があるのになぜ学習が必要なのでしょうか?
Lesson03 [学習の心構え]Excel VBAの学習を開始するにあたって
Lesson 04 [3つの学習すべきこと]Excelマクロを作るために学習すべきことを知っておきましょう

Chapter2
第2マクロを実行してみよう
Lesson05 [マクロを利用する準備]Excelでマクロを利用する準備をしましょう
Lesson06 [マクロを含むブックを開く]マクロを含むExcelブックを開いてみましょう
Lesson07 [シートとセルを操作するマクロの実行]シートとセルを操作するマクロを実行してみましょう
Lesson08 [VBEの起動とコードの確認]VBEを起動してマクロの中身を見てみましょう
Lesson09 [VBEの起動方法とプロジェクトエクスプローラー]VBEの起動方法とプロジェクトエクスプローラーについて学習しましょう
Lesson10 [セルを操作するマクロ]セルを操作するマクロを実行してコードを見てみましょう
Lesson11 [プログラミングに共通する考え方の具体例]本書で学習するプログラミングに共通する考え方を見ておきましょう

Chapter3
はじめてのマクロ作成に挑戦しよう
Lesson12 [標準モジュールの挿入]マクロを作成する場所となる「標準モジュール」を挿入しましょう
Lesson13 [Subプロシージャ]マクロの最小単位となる「Subプロシージャ」について学習しましょう
Lesson14 [代入]プログラムで頻出する指示「代入」について理解しましょう
Lesson15 [Subプロシージャの作成]まったくゼロの状態からSubプロシージャを作成しましょう
Lesson16 [マクロを含むブックの保存]マクロの実行前にマクロを含んだブックを保存しておきましょう
Lesson17 [Subプロシージャの実行]VBEからSubプロシージャを実行しましょう
Lesson18 [読みやすいSubプロシージャ]読みやすいSubプロシージャを書くポイントを知っておきましょう

Chapter4
VBAの演算子と関数について学ぼう
Lesson19 [演算子と関数]このChapterで学習する演算子と関数とは
Lesson20 [VBAの演算子1]VBAの算術演算子について学習しましょう
Lesson21 [さまざまなエラー1]赤色のエラーが発生したときの対応に慣れましょう
Lesson22 [VBAの関数1]VBA関数の基本について学習しましょう
Lesson23 [VBAの関数2]ワークシート関数とVBA関数との違いを意識しましょう
Lesson24 [さまざまなエラー2]黄色と青色のエラーが発生したときの対応に慣れましょう
Lesson25 [VBAの関数3]ワークシート関数にはないタイプの関数について学習しまし
Lesson26 [ステップ実行]Subプロシージャを1行ずつ実行するステップ実行を活用しましょう
Lesson27 [VBAの演算子2]VBAの文字列連結演算子について学習しましょう

Chapter5
変数について学ぼう
Lesson28 [変数]このChapterで学習する変数とは
Lesson29 [変数の基本]変数の基本を学習しましょう
Lesson30 [代入されたデータの確認]変数に代入されたデータを確認しましょう
Lesson31 [変数宣言]変数を使うときには変数宣言を行うクセを付けましょう
Lesson32 [データ型]変数に慣れたら変数のデータ型も明確にして宣言しましょう
Lesson33 [さまざまなデータ型]どのようなデータ型があるのかを知っておきましょう
Lesson34 [変数の有効範囲]Subプロシージャごとに変数宣言することに慣れましょう

Chapter6
条件分岐について学ぼう
Lesson35 [条件分岐]このChapterで学習する条件分岐とは
Lesson36 [If文の基本]If文の基本を学習しましょう
Lesson37 [Elseのない「文]ElseのないIf文の書き方を学習しましょう
Lesson38 [複数の分岐を行うIf文]複数の分岐を行うIf文の書き方を学習しましょう
Lesson39 [Msg Box関数の引数]メッセージボックスに表示するボタンを変更しましょう
Lesson40 [Msg Box関数による条件分岐]Msg Box関数を使った条件分岐について学習しましょう

Chapter7
ループ処理について学ぼう
Lesson41 [ループ処理]このChapterで学習するループ処理とは
Lesson42 [For~Next文の基本]For~Next文の基本を学習しましょう
Lesson43 [初期値、最終値、増分値]For~Next文の繰り返し条件を使いこなしましょう
Lesson44 [マクロの止め方]マクロが止まらなくなったときの対処法を知っておきましょう
Lesson45 [ループ処理内の条件分岐]For~Next文とIf文を組み合わせてみましょう
Lesson46 [数値を使ってセルを指定するCells]数値を使ってセルを操作できるCellsについて学習しましょう
Lesson47 [Cellsを使った縦方向のループ処理]cellsを使って合否判定を行うマクロを書けることを確認しましょう

Chapter8
オブジェクト関連の文法を学ぼう
Lesson48 [オブジェクト関連の文法の位置づけ]このあと学習するオブジェクト関連の文法について
Lesson49 [オブジェクト、プロパティ、メソッド]オブジェクトとオブジェクトに対する指示の概要を知りましょう
Lesson50 [オブジェクト関連の文法学習を始めるにあたって]オブジェクト関連の文法理解には時間がかかります
Lesson51 [オブジェクトの階層関係]オブジェクトの階層関係を理解しましょう
Lesson52 [2種類のプロパティ]プロパティは2種類あることを知っておきましょう
Lesson53 [コレクションオブジェクト]コレクションオブジェクトについて学習しましょう

Chapter9
マクロ記録を活用しよう
Lesson54 [マクロ記録の活用方法]マクロ記録機能の現実的な活用方法を知っておきましょう
Lesson55 [Selectメソッド、Selectionプロパティ]マクロ記録で使われる「Select」と「Selection」について学習しましょう
Lesson56 [名前付き引数]マクロ記録で使われる「名前付き引数」について学習しましょう
Lesson57 [行継続文字]マクロ記録で使われる「行継続文字」について学習しましょう
Lesson58 [With End With文]マクロ記録で使われる「With End With」について学習しましょう

Chapter10
Rangeオブジェクトについて学ぼう
Lesson59 [Range Cells Active Cell]Rangeオブジェクトを取得するプロパティについて学習しましょう
Lesson60 [Rangeオブジェクトのプロパティ]単なるデータを取得するRangeオブジェクトのプロパティを理解しましょう
Lesson61 [Rangeオブジェクトの下位オブジェクト]Rangeオブジェクトの下位オブジェクトについて学習しましょう
Lesson62 [Rangeオブジェクトのメソッド]Rangeオブジェクトのメソッドについて学習しましょう
Lesson63 [行全体列全体を表すRangeオブジェクト]行全体列全体を表すRangeオブジェクトについて学習しましょう
Lesson64 [終端セルの取得]終端セルを取得するコードを理解しましょう
Lesson65 [一番下のセルの取得]終端セルを取得するコードの問題を解決しましょう

Chapter11
Worksheetオブジェクトについて学ぼう
Lesson66 [Work sheets Active Sheet]ワークシートを表すオブジェクトを取得するプロパティについて学びましょう
Lesson67 [WorksheetsとWorksheetのメソッドプロパティ]WorksheetsとWorksheetのメソッドプロパティについて学びましょう
Lesson68 [ワークシートに対するループ処理]ワークシートに対しループ処理を行うマクロを作りましょう
Lesson69 [ワークシートとセルに対するループ処理]ワークシート名一覧を作成するマクロを作ってみましょう
Lesson70 [Sheets、Work sheets, Charts]Sheetsでもワークシートを操作できます

Chapter12
複数のシートをまとめるマクロを作成しよう
Lesson71 [複数のシートをまとめる考え方]複数シートを1枚にまとめるマクロの考え方を確認しましょう
Lesson72 [複数のシートをまとめるマクロの作成]複数シートを1枚にまとめるマクロを作成しましょう。
Lesson73 [複数のシートをまとめるマクロの改善]複数シートをまとめるマクロの速度を上げる書き方を学習しましょう

Chapter13
Workbookオブジェクトについて学ぼう
Lesson74 [Work books Active Work book This Work book]ブックを表すオブジェクトを取得するプロパティについて学習しましょう
Lesson75 [WorkbooksとWorkbookのプロパティメソッド]WorkbooksとWorkbookのプロパティメソッドについて学習しましょう
Lesson76 [ブックからのシート複製]110別のブックからシートを複製するマクロを理解しましょう
Lesson77 [すべてのブックからのシートの製]「すべてのブックからシートを複製するマクロを理解しましょう

Chapter14
今後の学習に向けて
Lesson78 [本書で扱っていない学習項目]本書で扱っていない項目を省略した理由と学習するタイミング
Lesson79 [参考書籍]本書のあとにおすすめする参考書