プログラミングを開始する

まずは、プログラマー画面を表示するためにパソコンにどのような命令を与えるとよいのかをわかりやすくするため、プログラムの設計図を作ります。

プログラムの流れを示した図をフローチャートといい、これがプログラムの設計図となります。

 

今回はExcel上で動作する言語となりますから、主な舞台はこの画面となります。

 

そして、作成したフローチャートがこちら

ARE YOU READY ? って何? という声が聴こえてきますが、これはまあ何でもいいじゃないですか! カッコいいじゃないですか! いいでしょもう! 

なんだか工程が少ないような気もしますが、ともかく、まずはこのように作成してみようと思います。

 

コーディングを行う

プログラムコードを記述して処理を実行させることをコーディングといいます。これをやらなきゃ話になりませんので、まずはExcelでコーディングを行う環境を整えます。

 

この辺に 開発 というボタンが無いといけないようなのですが、表示されていません。

 

ファイル → オプション → リボンのユーザー設定 → 開発タブに☑ → OK という手順で表示することができます。

 

そして、開発タブの一番左に Visual Basic のボタンがあるのでクリックすると

 

このような画面になるので、ここでコードの記述を行います。

黒背景に緑色の文字じゃないんだ……

 

Visual Basic の記述ルール

Visual Basic でコードを記述する際、まずは記述するプログラムの名称を与えなければなりません。

人間同士の会話で「アレ! アレやっといて!」「アレ……? ああ、アレね! やっとく!」みたいな会話があるじゃないですか。これ、機械には通用しないんですね。

機械に命令を下すには、実行するプログラムを誤りなく伝える必要があり、実行するプログラムの名前を定義することが必須となります。

この名称を定義するために使用するのが、Sub という単語になります。

 

ということで画面を見てください。ここでは、プログラマーというプログラム名を定義しました。

Sub プログラマー()と記述された行とEnd Subと記述された行の間に実行するプログラムコードを記述していくことになります。現時点では何の処理も実行しない、プログラムの卵状態ですね。

 

このように、プログラムの卵だけをたくさん作ることも可能です。

ちなみに、プログラム名の末尾に()と入力しないとエラーになります。謎ですがこれがルールということですね。

 

そして、記述されたプログラムは開発タブのマクロというボタンの中に格納されており、ここで処理を実行することができます。

 

それでは、先ほど作成したフローチャートの通りにコードを記述してみましょう!

 

こちらが、フローチャートの通りに記述されたコードです。これだけ見ても何がどうなっているのかさっぱりわかりませんね!

この画面では、’ (シングルクォーテーション)を入力するとその行は ’ 以降、プログラムコードではないと識別されるので、ここにメモを加えることができます。

 

するとこうなります。これで、どのような順序で何の処理を実行しているのかがわかりやすくなりましたね!

 

あとはこれを実行してやると

 

こうなります。すげー!

今回は上手く行きましたが、コードの記述は複雑になればなるほどミスを生むものです。特に、機械は人間の意図を汲み取りませんので、記述するコードは一字一句たりとも間違えてはいけないのです。ここがコーディングの難しいところなんですね。

 

また、コードの記述内に(“Sheet1”)という箇所がありますが、これは処理を実行する場所としてSheet1を選んでいるというものです。

 

Excelでは、複数のシートに分けて表を作成することができる機能があるのですが、ここのシート名は変更することができます。

 

このように、シートを増やし、名前を変えたりできるのですが、ここでSheet1の名前を変更すると……

 

これでSheet1だったものはマジュニアになったので、プログラム中の(“Sheet1”)の記述は辻褄が合わなくなった結果……

 

このようなエラーを発生させてしまうわけですね。

なので、コーディングの際は最初に決めたルールを徹底的に崩さず行う必要があるわけです。

この辺の事情を知らない人が軽い気持ちで出した要望にプログラマーがキレるという事件が発生するという話を聞きますが、そりゃたしかになと頷ける話です。プログラムが複雑であればあるほど修正にとてつもない労力が発生しますからね。

 

「上手いことやっといてよ!」なんて指示を先輩や上司から受けたことのある人は多いと思いますが、同じ論調で機械に対して指示しようとしてもエラーを吐き出すので、プログラマーが適切な仲介役を担っているわけです。そうか、プログラマーって中間管理職なんだ……

 

それはさておき、せめて文字の表示位置だけでも変えた方が良さそう……

 

はい、文字を表示するセルをA1からG3に変更しました。これでおおむね真ん中に表示されるようになりました!

あとは、名前を付けて保存する際に拡張子を.xlsm(マクロ有効ブック)にして保存することで、次回ファイルを開いた時にもマクロを使用することができるようになります。

 

とはいえ、これならわざわざプログラミングを駆使するまでもなく、手作業で操作した方が簡単まであるな……

もっとデジタル文字っぽく表示したいな、それこそドット絵的に……

 

ドット絵?

そうだ!

 

<どうだ!?>