環境構築不要のExcelだけで学べるプログラミング(前編)

エクセルさえあればOK!

プログラミングを勉強しようとした時、最初の環境構築で頭を抱える人は多いのではないでしょうか?
VisualStudio?Eclipse?初めて触れる人からすれば謎のソフトをインストールしなくてはならない上にPATHがどうとか環境変数がどうとか、やたらと設定が必要だったり・・・

本格的にプログラミングの勉強をするならそういった「統合開発環境」と呼ばれるソフトを導入するのは良いのですが、お試し程度にやってみるには少々敷居が高いかもしれません。

あなたのパソコンにエクセルが入っていれば、それだけでプログラミングの勉強ができます!
(エクセルが入っていない場合はoffice365の1か月無料などを活用してみてください)

この前編記事ではエクセルのプログラミング機能であるVBAの起動方法、
プログラムからの出力結果をセル上に表示するための方法を解説します。

いはな
いはな

私と一緒にかけ算の『九九表』を自動で生成するプログラムを作りましょう。
画像てんこ盛りで、めちゃめちゃ丁寧に解説していきます!
それなりにボリュームのある記事となりますので、前編、後編に分けています。

まずは普通にエクセルを起動して真っ新なシート画面を開いてください。

画像はクリックで拡大できます

九九表っぽさを出すためにセルを方眼紙のようにします。
(Google検索では「Excel方眼紙 悪」とか出てきますが気にしない)

キーボード左下のCtrlキーとAを同時押しでも全選択できます
左上の「書式」から「列の幅」を選択してください
ここでは「3」にしましたが、お使いのフォントやサイズによって正方形になるよう任意の値で調整してください
これでセルのマス目が正方形の「エクセル方眼紙」と呼ばれる状態になりました。

さて、方眼紙ができたらいよいよプログラミングに着手します。
キーボードの「alt」と「F11」を同時に押してみましょう、すると・・・!?

突如、謎の画面が!?

上記のようなウィンドウがいきなり開いたはずです。
初めて見る人は「なんじゃこりゃ!?」と思うことでしょう。
これはVBA(Visual Basic for Applications)と呼ばれるもので、

ザックリ言うと、エクセルの表と連動した強力なプログラミングツールです。

落ち着いて同じように操作してみてください
まっさらなウィンドウが出てきたらOK

上記のウィンドウの中にプログラムを書いていきます!
まずは以下のコードを枠内にコピペしてみてください。
(一字一句間違えない自信がある方はご自身で入力してもOK)

Sub test()
Cells(1, 1) = "アザラシ"
End Sub
F5キーでもOK

何もおこらないですね・・・?
では、元々のエクセルのシートのほうを見てみましょう。

か、書いた覚えのない「アザラシ」の文字が1行A列のセルに・・・!?

セルを選択して「アザラシ」と打ち込んだわけではないですよね。
これは、九九表を作る前に出力について理解していただくためにやっています。

VBAで書くプログラムを「Subプロシージャ」と呼びます。
ザックリですが、以下が書き方について大枠の決まりです。

Sub 好きなプログラム名()
処理内容(必要に応じて何行書いてもOK)
End Sub

赤ハイライトの部分は不変の文法です(括弧の中には場合によっては文字が入ることもありますが・・・)青ハイライトの部分、例えば今回 test と書いた個所は好きな文字に変えても構いません。ただし、日本語はNGです。

処理内容は今回、以下の1行でした。
Cells(1, 1) = “アザラシ”

VBAはともかく、エクセルを普通に使ったことがある方なら「関数」はご存じかと思います。
=SUM(好きなセル範囲)とすると、その範囲の数値を全部足してくれる、とか色々ありますよね。

CellsはVBAで利用できる関数の1つで、以下がザックリですが使い方です。

Cells(行番号, 列番号) = “出力したい文字列”

つまり『Cells(1, 1) = “アザラシ”』は『1行1列(A列)にアザラシと出力する』という処理だったわけです。ちなみに文字ではなく数値を出力する場合は””(ダブルクォート)で囲う必要はありません。

ここからはこのCells関数を利用して九九表を作ります!

・・・ただ、九九表を作るだけなら最悪な例ですが、
次の画像のような書き方でもできなくはないです。

例のためとはいえ書いていて疲れました・・・
1の段から9の段まで表示されましたが・・・

上の画像では見切れていますが、Cellsを81行書いています。
「▶」アイコンをクリックし、実行結果を確認すると結果としては九九表はできていますが・・・
『VBAで九九表を作る』という言葉通りではあるのですが、最悪なプログラムです。
後編では「変数」「ループ処理」を駆使して九九表を生成します!

後編はこちら

コメント

タイトルとURLをコピーしました