エクセル de バブルブレーカー(Excel de Bubble Breaker)のダウンロードはこちらから
前回は、自動で書いたプログラムを修正しました。
今回はこの自動で書いたプログラムをさらに修正しましょう。
16.命令文(ステートメント)について
これまで、使われた命令文は
Option Explicit
Sub ・・・ End Sub
With ・・・ End With
のみです。
それ以外はオブジェクトの操作です。
一般的なプログラミング言語では、オブジェクトを作るのがかなり面倒なのですが、
エクセルの場合、最初からワークブック、ワークシート、セルと高機能なオブジェクトが
たくさんあるので、オブジェクト操作だけの簡単なプログラムなら自動マクロで出来てしまうのです。
通常のプログラムの参考書では、命令文(ステートメント)を利用したアルゴリズムから
勉強することが多いのですが、オブジェクト操作 → アルゴリズム の順で勉強した方が
実は覚えやすいです。
17.盤面の大きさの指定。
外部仕様には、
盤面の大きさ、表示場所、バブルの色などは別途指定できるようにする
といういやらしい一文がありました。
別途指定とは具体的にどうしましょう。
これは本来は外部設計に明記すべきことですが、ここで解決しましょう。
とりあえず、C列の適当な場所に、盤面の大きさ、表示場所を指定する場所を作りましょう。
また、バブルの色も5種類作って並べましょう。

今回は
C17に"開始位置"
C18に"盤面縦"
C19に"盤面横"
C21:C25に"通常色"
D21:D25に"選択色"
と名づけました。
名づけた範囲に入力された値を、指定された値とすることにします。
18.変数について。
プログラムでこれらを利用するには、指定された値をプログラムが読み取る必要があります。
読み取る手順としては、読み取ったものを保存する変数を宣言し、変数に代入します。
宣言の文法
Public 変数名 As 変数の型
Private 変数名 As 変数の型
Dim 変数名 As 変数の型
代入の文法
変数が値の場合
Let変数名=値
ただし、Letは通常省略しますので、変数名=値
変数がオブジェクトの場合
Set変数名=オブジェクトとなります。
宣言は3つの違いは、例えるなら次のとおりです。
社長で生島勘富と判断がつく範囲は弊社内だけです。
総理大臣とは(少なくとも漢字で書けば)安倍晋三さんをさすと言ってよいでしょう。
これをプログラムであらわすと、
'総理大臣という変数を作成する。
Public 総理大臣 As 名前
'変数に安倍晋三 さんを設定する。
総理大臣="安倍晋三"
'社長という変数を作成する。
Dim 社長 As 名前
'変数に生島勘富 を設定する。
社長="生島勘富"
となります。
Publicはどこからでも使えます。
Privateは同じモジュール内(Sheet、標準モジュール、フォームモジュール、クラスモジュール)で使用可能です。
Dim は宣言された範囲内(モジュール宣言部で宣言されればモジュール内、プロシージャで宣言されればプロシージャ内)で使用可能です。

今回、ほとんどのプログラムは標準モジュール内(Module1)に記述しますので、Privateで宣言します。
プログラムの最小単位は、プロシージャと呼ばれるものになります。
プロシージャには Subプロシージャと、Functionプロシージャがあります。
Public(どこからでも利用可能)か、Private(モジュール内のみ利用可能)とされます。
省略すると Public になるのですが、明示した方が分かりやすくなるため今回から明示します。
<< 第33回目 「エクセル de バブルブレーカー(Excel de Bubble Breaker)その5」 | | 第35回目 「エクセル de バブルブレーカー(Excel de Bubble Breaker)その7」 >>
>> HOME >> コラム >> 第34回目 「エクセル de バブルブレーカー(Excel de Bubble Breaker)その6」

コラムの全インデックス
記事一覧 (42)