法政大学 経営学部

情報学入門(データ演習)

Excel VBA でプログラミングを学ぶ ── このページの中で実際に動きます

この教材の特徴。 すべてのプログラムがブラウザの中で実行できます。 Excel も VBA も、インストールは要りません。 プログラムを書き換えて動かし、ワークシートがどう変わるかをその場で確かめられます (この教材のために VBA の処理系を JavaScript で書きました。 対応している構文は早見表に明記してあります)。

▶ まず動かしてみる ── 1 から N までの合計
Sub Macro1()
    Dim i As Integer
    Dim N As Integer
    Dim s As Integer

    N = 10
    s = 0

    For i = 1 To N
        s = s + i
        Cells(i, 1).Value = i
        Cells(i, 2).Value = s
    Next i

    Cells(1, 4).Value = "合計"
    Cells(2, 4).Value = s
End Sub

N = 10N = 20 に変えて、もう一度「実行する」を押してみてください。 CtrlEnter でも実行できます。

この授業で身につけること

プログラミングは「文法を覚える」ことではありません。 やりたいことを、機械が実行できる手順に分解することです。 この授業では、Excel の表計算の上でそれを練習します。 表の上で結果が目に見えるので、自分の書いた手順が何をしたのかが分かりやすいからです。

  1. 順番に実行する(第 1〜4 章)── セルに値を入れ、変数を使い、計算する
  2. 場合に分ける(第 5・6 章)── 条件によって違うことをする
  3. 繰り返す(第 7・8 章)── 同じ手順を何度も。ここが山場です
  4. 部品に分ける(第 9・10 章)── Sub と Function。大きな問題を小さく割る
  5. まとめて扱う(第 11・12 章)── 配列。20 人の点数を 1 つの名前で扱う
  6. 自分を呼ぶ(第 14 章)── 再帰。ハノイの塔が数行で解けます
  7. 絵を描く(第 15 章)── 計算の結果を目に見える形にする

全 15 章

■ 公開ずみ□ 準備中
第 1 章 起動する 公開 コンピュータの土台(OS・機械語・高水準言語・ファイル)/マクロを記録して編集する/セルに値と色を入れる 第 2 章 シート上の計算 公開 Value と Formula の違い/セルを参照して計算する/表を作るプログラム 第 3 章 変数とデータ型 公開 Dim と As/整数と実数と文字列/円の円周・球の体積・2 点間の距離 第 4 章 行列 公開 足し算と掛け算/MMULT と配列数式/三重ループ/行列の積は「変換の合成」/AB ≠ BA 第 5 章 分岐(1) 公開 流れ図をたどる/無条件分岐 GoTo とその危うさ/従来型 If/関係演算子と論理演算子 第 6 章 分岐(2) 公開 ブロック If と ElseIf の順序/条件の穴/IIf/Select Case/2 次方程式の 6 通りの場合分け 第 7 章 繰り返し(1) 公開 For〜Next と Step/トレース/While〜Wend/Cells(0,1) はエラー/二重ループと九九/BMI 第 8 章 繰り返し(2) 公開 Do〜Loop の 4 つの形/倍々貯金/約数と素数/互除法の終わらない手順/素因数分解 第 9 章 構造化プログラミング(1) 公開 3 つの基本構造/Sub と Function/ByVal と ByRef の違いを交換で確かめる/階乗/並べ替え 第 10 章 構造化プログラミング(2) 公開 互除法を関数に/エラトステネスの篩/フィボナッチと黄金比/スコープ/よい部品の分け方 第 11 章 配列(1) 公開 Dim w(5) は 6 個/最大・最小(元資料の「間違いを直せ」課題)/順位/動的配列/2 次元配列 第 12 章 配列(2) 公開 偏差値と型が答えを変える話/ヒストグラム/ニュートン法と 2 次収束/バブルソート
第 13 章 ユーザフォーム 準備中 ボタンとテキストボックス/イベントで動くプログラム
第 14 章 再帰定義 公開 終了条件とスタック/呼ぶ前と呼んだ後/再帰が遅くなる場合/ハノイの塔/迷路の経路 第 15 章 コンピュータグラフィックス 公開 セルを画素に/GSolidLine で線を描く/2 次元・3 次元の回転/コッホ曲線・ドラゴン曲線/並べ替え 3 種

もとになった資料と、この教材で直したこと

この教材は、2018〜2025 年に使われた講義資料 「情報学入門(VBA)100〜205」全 22 ファイル(計約 513 枚)をもとに、 内容の誤りを直し、足りない説明を補って作り直したものです。 各章の末尾にどこを直しどこを足したかの一覧を置いてあります。

資料全体を通して見つかった主なものを、先に挙げておきます。

この教材の中の VBA について

ページの中で動いているのは、この授業のために書いた VBA の処理系です。 Excel そのものではないので、次の点が本物と違います。

対応している構文・関数の一覧はVBA 早見表にあります。 本物の Excel で動かすときの注意もそこに書きました。

準備するもの(実際の Excel で動かす場合)

やり方
VBA を開くAltF11(Mac は OptionF11
マクロを実行VBA の画面で F5/Excel 側では「表示」→「マクロ」→「マクロの表示」
1 行ずつ実行F8これが最も勉強になります
保存「Excel マクロ有効ブック(.xlsm)」を選ぶ。 通常の .xlsx で保存するとマクロが消えます
最初にやることVBA の画面で「ツール」→「オプション」→ 「変数の宣言を強制する」にチェックOption Explicit が自動で入ります)

.xlsm で保存することと、変数の宣言を強制すること。 この 2 つを最初にやっておくと、あとで困りません。 前者を忘れると書いたプログラムが消え、後者を忘れると 打ち間違えた変数名が新しい変数として黙って作られ、原因の分からない不具合になります