例題で学ぶExcel VBA入門

豊富な例題!

Excelで使えるExcel VBAを使って、基礎的な内容から実践的なプログラムの作成まで分かりやすく解説されています。サンプルプログラムも多数掲載されています。教師から学生、社会人まで、楽しく学べる構成になっています。

加地 太一 (著, 編集), 大堀 隆文 (著), 穴沢 務 (著)
出版社: 論創社; 初版 (2019/3/30)、出典:出版社HP

編集にあたって

プログラミング教育は、小学校で2020年度から,中学校で2021年度から,高等学校で2022年度から,それぞれ必修化され始まる。その是非はともかくプログラミング教育の必要性が迫られているのは事実であろう。しかし,各学校におけるプログラム学習のための環境は不十分極まりないものである。また,その内容も直感的なレベルにしか過ぎず、実用的なプログラミングにはほど遠いものとなっている。

そこで、誰もがすぐに使え,プログラムの本質をつかまえると同時に,実用性のあるプログラムを作成できるプログラミングの教育用図書を作ることを目的とし本図書の編集にあたった。この目的を実現するプログラム言語の一つとしてExcel VBAがある。Excel VBAは、パソコンにExcelがインストールされていれば誰でも利用が可能であり、実務に幅広く利用可能なプログラム言語の一つである。

このExcel VBAを用いた分かりやすいプログラミングの教科書を作成するために,今回,私を含め3人の方々の援助をいただき作成に臨んだわけである。3人の知恵を絞り数多くの分かりやすい例題,プログラムを整え、モチベーションが下がらないような工夫を施しているわけである。この3人の著者の方々の協力がなければ完成には至らなかったであろう。「三人寄れば文殊の知恵」とはよく言ったものである。

編者 加地太一

まえがき

プログラミングは多くの学生が受講する必修科目となりつつあり,全員が必要とする最低限の能力,技量とみなされてくるであろう。しかし,「プログラミングに王道なし」といわれ、どんな教え方をしても学生本人のモチベーシッョンが無ければプログラミングのスキルを修得することはできない。重要な要素は、初めてプログラミングに接する学生が興味や面白さを継続して成、学習への意欲を保持できるか否かにある。しかし,学生のプログラミングへのモチベーションを保ち、継続して興味を湧き立たせる例題や課題を用意することは難しい。

本書は、文系理系を問わず,プログラミングの基本を初歩から身につけたい読者を対象にしている。入門教育に用いるプログラミング言語として、身近なExcelをベースとして、プログラムが容易に作成できるExcel VBAを用いる。Excel VBAは、Excelがインストールされているパソコンならば手軽にトライすることができる,2入出力インターフェイスとして目に見える「セル」を利用できる、などの理由からプログラミング初学者には馴染みやすい言語と考える。しかし,Excel VBAを使い、プログラミングの一般論を教育する教科書は少ない。従来の教科書は,Excel機能のパワーアップとして、VBAマクロにより実務的なシステムの作成を主な目的に作成している。これは確かに実践的だがプログラミングの基礎を体系的に身につけることは難しい。それを実現するために、本書は次の方針で作成する。

(1) C言語などの教科書で見られる標準的な順番(入出力・演算・変数→条件分岐→繰り返し処理→配列→副プログラム→…)で構成する。
(2) 各章・節ごとに文法事項を説明し、その理解の確認のために平易な例想を用意する。
(3)文系の学生でも取り組みやすいように数学的な題材は極力避け、日常的・娯楽的な題材を多く盛り込む。
(4) 文法の説明が必要な章・節は、冒頭に「デモンストレーション」コーナーを設け,デモ用のマクロ有効ファイルを多数用意する。
(5) 大学,専門学校,高校などの授業の使用のために利用しやすい構成とする。

本書は以下の13章から構成される。1章では,VBAの概要を述べる。VBAを学ぶ意義,VBAの起動,入出力,四則演算などを説明する。2章では,VBAの変数について述べる。変数宣言,データ型,入出力ボックスなどを説明する。3章では、セルの操作を述べる。セル範囲の表し方とプロパティセルのメソッドなどを説明する。4章では、条件分岐について述べる。基本条件から複雑条件,If構文と入れ子,関係演算子や論理演算子などを説明する。5章では,繰り返し処理を述べる。繰り返し回数が既知と未知の場合の書き方,For Next文やDo Loop文などを説明する。6章では,配列について述べる。

配列宣言と一次元,二次元配列などを説明する。7章では、ユーザ定義型について述べる。ユーザ定義型宣言,メンバや構造体配列などを説明する。8章では副プログラムについて述べる。ユーザ定義関数,引数,サブプロシージャ,値渡しと参照渡しなどを説明する。9章では、コントロールの活用について述べる。コントロールを含むワークシート,ユーザフォーム,イベントプロシージなどを説明する。10章では,システム制作の実践について述べる。マクロ記録,データ範囲の自動検出などを説明する。11章では,VBAによる統計解析について述べる。平均分散などの統計量,確率とシミュレーション,乱数とゲーム応用を説明する。12章では、アルゴリズムについて述べる。線形探索,二分探索およびクイックソートなどの整列アルゴリズムを説明する。13章では、データベース処理について述べる。マクロによる売上分析,分割保存表データベース処理などを説明する。また付録では,Excelデータベース機能について述べる。集計・整列・探索,売上分析,フィルタ,ピボットテーブル、VLOOKUP関数などを説明する。

授業構成においては、初心者向けの基礎的な前半の章を用いるのも良く、さらに深めるために後半の実践的な章を利用するのも良いであろう。またプログラミングを独学で勉学可能であるExcel VBAを使うため、本書を利用してようにも心がけたつもりである。実践的な利用が必要な方々も,基本知識を教理するために本書を先に読破しておくことを薦めたい。いずれの読者層にとっても,プログラミングの基礎知識がしっかり身につくと同時にExcel VBAを用いて自由自在にExcelでデータを扱える仕事力がつくであろう。

なお、本書は平成30年度小樽商科大学研究成果刊行経費により出版される本書の作成にあたって企画から完成まで様々の面でご助力いただいた、小樹商科大学,および論創社の関係者の皆様に改めて感謝の意を表したい。

著者を代表して 加地太一

平成30年7月19日
サンプルプログラム、課題解答例のダウンロードサイト
URL: http://www.mii.kurume-u.ac.jp/~anazawa/vba/

加地 太一 (著, 編集), 大堀 隆文 (著), 穴沢 務 (著)
出版社: 論創社; 初版 (2019/3/30)、出典:出版社HP

目次

1 はじめてのVBA
1.1 プログラムとは
1.2 なぜExcel VBAを学ぶのか
1.3 とにかく始めてみよう
1.4 データの入出力
2 変数の活用
2.1 変数と変数宣言
2.2 文字列の操作
3 セル・セル範囲の操作
3.1 セル・セル範囲の表し方とプロパティ
3.2 セル・セル範囲のメソッド
4 条件分岐
4.1 基本的な条件分岐
4.2 複雑な条件
5繰り返し処理
5.1 繰り返し回数がわかっている場合
5.2 繰り返し回数がわかっていない場合
6 配列の活用
6.1 配列の宣言と入出力
6.2 配列の応用
7 ユーザ定義型(構造体)の活用
7.1 ユーザ定義型の宣言と入出力
7.2 ユーザ定義型の応用
8 副プログラム
8.1 ユーザ定義関数
8.2 引数のあるSubプロシージャ
9 コントロールの活用
9.1 コントロールがあるワークシート
9.2 ユーザフォームの活用
10 システム製作実践
10.1 マクロ記録
10.2 システム製作実践
11 VBAによる統計解析
11.1 データの整理
11.2 確率の基礎
11.3 確率変数と確率分布
11.4 確率のシミュレーション
12 アルゴリズム
12.1 探索アルゴリズム
12.2 整列アルゴリズム
13 データベース処理
13.1 マクロによる売上分析(1)
13.2 マクロによる売上分析(2)
13.3 マクロによる売上分析(3)
13.4 マクロによる売上分析(4)
13.5 マクロによる売上分析(5)
13.6 マクロによる売上分析(6)
付録A Excelのデータベース機能
A.1 並べ替え・抽出・集計
A.2 条件付き集計関数
A.3 応用・売上分析(1)
A.4 応用・売上分析(2)
あとがき
参考文献
索引

例題で学ぶ Excel VBA入門

加地 太一 (著, 編集), 大堀 隆文 (著), 穴沢 務 (著)
出版社: 論創社; 初版 (2019/3/30)、出典:出版社HP