<p>VBAのスケジュール表自動作成というのは『続ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本』にあるVBAで自動でできるようにしたスケジュール表のことです。</p>
<p>&nbsp;</p>
<p>スケジュール表というと何となくたいしたことはないイメージがあります。自分も最初は「簡単なシステムなんだろうな」と思っていました。しかし本書の大きさは大型本サイズでさらに全部で430ページ程になるなどボリュームがあります。</p>
<p>&nbsp;</p>
<p>ですから、「スケジュール表なんて簡単そうなのになんでこんなに分厚いんだろう・・・。」と不思議に思っていました。けれども本書をひととおり読んでみて、簡単なシステムといっても実際に手を使ってコードをうちこんでいくことでいろいろ学ぶものがありました。</p>
<p>&nbsp;</p>
<p>今回はこのことについて思ったことを書いていってみます。</p>
<p>&nbsp;</p>
<h2>『続ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本』を読むきっかけや目的</h2>
<p>このブログではVBAというプログラミング言語のすごさやその効果について何度も書いてきました。それからVBAについて本格的に勉強を始めてからは『VBAエキスパート公式テキスト Excel VBA ベーシック』や『VBAエキスパート公式テキスト Excel VBA スタンダード』を読んだり、業務で本で学んだ知識を利用して簡単にプログラムをつくってきました。</p>
<p>&nbsp;</p>
<p>ある程度時間が経ち、多少VBAというものがわかってきたのでもう少しまとまったシステムをつくってみたいと考えるようになりました。そこで手に取ったのが『続ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本』です。</p>
<p>&nbsp;</p>
<p>他にもVBAに関するまとまったシステムをつくる方法が書かれた本はいくつかあったのですが、他の本に比べて本書はVBAの公式テキストの内容に近いステートメントや関数が使われており、何より初心者がちょっとしたシステムをつくってみたいと思った時にそれ程難しくない内容だと感じました。</p>
<p>&nbsp;</p>
<p>そういった経緯からVBAのツボとコツの本を選んだという次第です。</p>
<h2>スケジュール表の簡単な概要</h2>
<p>エクセル上でスケジュール表をつくるとなると、単純に年・月・日と曜日、そしてその日何をするかが書けるちょっとしたスペースがあるスケジュール表であればすぐにできそうなイメージがあります。</p>
<p>&nbsp;</p>
<p>自分も最初は『続ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本』でつくるスケジュール表というのはそんなイメージがあって簡単に出来るものだろうと思っていました。しかし実際つくるとなると全然違いました。</p>
<p>&nbsp;</p>
<p>本書における「スケジュール表自動作成」のスケジュール表というのは基本的にエクセルのワークシート上において次のようにつくっていきます。</p>
<ul>
	<li>A1セルに年度</li>
	<li>A列に月</li>
	<li>B列に日</li>
	<li>C列に曜日</li>
	<li>D列は少し幅を広げて、その何をするかのスペースにする</li>
	<li>土曜日、日曜日の休日と祝日に色をぬる</li>
</ul>
<p>といった感じでつくっていきます。一見すると何の変哲もない簡単なスケジュール表に見えます。手作業とかオートフィルを使ってもそれほど難しくはないんじゃないか、何もVBAを使ってコードを入力していくまでもないように見えます。</p>
<p>&nbsp;</p>
<p>しかし、このスケジュール表を自動作成するためには、様々な状況やパターンが想定して書かれており、そのために430ページというボリュームになっています。</p>
<p>&nbsp;</p>
<p>ではもう少し具体的に、このスケジュール表自動作成にはどういった機能があって、それを実現するための方法にはどんなものがあるのかについて、次の項目でまとめていきます。</p>
<h2>実際の仕事においてどのようにコードが入力されていくのか</h2>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>デバッグとエラー処理</h2>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>フォームモジュールやFunctionプロシージャの活用</h2>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>ワードプレステーマで使われるモジュールテンプレートの数</h2>
<p>たぶんエクセルのVBAでコードを入力する場所としての「モジュール」にあたるものが、ワードプレスのテーマにおいて「モジュールテンプレート」というものに対応するのではないでしょうか。（間違えていたら許してください）</p>
<p>&nbsp;</p>
<p>このブログで使わせていただいてるワードプレスのテーマが「simplicity」というものであり、わいひらさんという方が作成したものです。</p>
<p>&nbsp;</p>
<p>で、その管理画面からカスタマイズ→テンプレートの編集でこのテーマで使われているモジュールテンプレートが100個程あります。親テーマとか子テーマとかいろいろ種類があるのですが、最も多いところでこのテーマを構成していると考えられるコードが書かれたモジュールが100個程あるということです。</p>
<p>&nbsp;</p>
<p>何が言いたいかというと、こういった使いやすいテーマを作れるプロというのは本当にすごいというのと、これぐらいの規模のコードを書く必要があるんだなぁという点に気づいたことです。</p>
<p>&nbsp;</p>
<p>今までの自分であれば、テーマの数とかモジュールテンプレートの数とか全然気にもとめていませんでした。</p>
<p>&nbsp;</p>
<p>しかし、『続ExcelVBAのプログラミングのツボとコツがゼッタイにわかる本』を通して実際に自分の手でコードを入力していくことでその大変さに気づきました。だからこそこのブログのテーマのように、プロの方がつくるシステムがどれだけすごいのか、ということが少しですが理解できた気がします。</p>
<p>&nbsp;</p>
<p>やっぱり実際に経験してみないとその凄さというのはわからないものです。もちろん全部を理解したわけではありません。</p>
<p>&nbsp;</p>
<p>けれどもコードの分量とかここにチェックマークをつけたらこのコードが反応してここに繋がってくるんだなとか、全然素人視点ではあるのですが想像を巡らせるとこれだけの複雑な構造を構築できる製作者の方というのはどれだけすごいのだろうか、と途方に暮れてしまいます。</p>
<p>&nbsp;</p>
<p>以上のようなことからタイトルにもあるように、プログラマーとかSEとかその道のプロというのは本当にすごいと感心したというお話です。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>あわせて読みたい</h2>
<ul>
	<li><strong><a href="https://www.chishikinosoukonoseiri.com/entry/2018/03/20/1021">オブジェクト型変数や誤字脱字などプログラミングでやりそうなミスについて</a></strong></li>
	<li><strong><a href="https://www.chishikinosoukonoseiri.com/entry/2018/02/25/1129">VBAプログラミングで仕様変更にも動的に対応できるコードという発想について</a></strong></li>
	<li><strong><a href="https://www.chishikinosoukonoseiri.com/entry/2018/02/17/2712">経理業務でデバッグツールが使えたり会計ソフトが学習できたら便利なのに</a></strong></li>
	<li><strong><a href="https://www.chishikinosoukonoseiri.com/entry/2018/02/03/1303">VBAが使える範囲はエクセルの他にMicrosoft系列以外にも及ぶ</a></strong></li>
	<li><strong><a href="https://www.chishikinosoukonoseiri.com/entry/2017/12/31/0830">業務を自動化できる技術を持たないと自動化される時代が来るかもしれない</a></strong></li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>