EXCELでランダムにデザインを作成できる方法。あなたも天才デザイナー!?

ランダムに色を描いて遊びたい

この記事では、EXCELでランダムに色を塗って、それっぽいデザインを作成する方法について説明しています。

 

EXCELのランダム関数を利用するので、デザインセンスは必要ありません。

 

おまけに、ランダムなので同じデザインを2度と作ることができないかもしれません。

 

 

それでは、EXCELでランダムにデザインを描く機能を作成していきましょう。

 

困っている女性

デザインのセンスがないけど、それっぽいデザインを簡単に描く方法を知りたいの・・・。
それなら、VBAを使えばボタン1つ押すだけで、それっぽいデザインを描くことができるよ。

解決する男性

困っている女性

それそれ、早く教えてよ。

 

それでは、ランダムにデザインを描く機能に必要なものを、1つ1つ順番に説明していきます。

もくじ

1.キャンバスを準備する

まず、デザインを描くキャンバスを用意します。

「色で遊ぶ」シートを追加する

それでは、「色で遊ぶ」という名前のシートを追加します。

シートを追加する

シートを追加する

 

デザインを描くキャンバスを作る

「色で遊び」シートのA列からT列の幅を25ピクセルにして、方眼紙のようにします。

方眼紙をつくる

方眼紙をつくる

ここでいう、方眼紙とは縦と横の幅を同じにして、各セルを正方形にします。

 

2.VBAでランダムにデザインを描く機能を記入する

「Microsoft Visual Basic for Applications」を起動します。

ランダムにセルに色を描く機能を作成する

この機能では、各セルごとにランダムな色を描いていきます。

ランダムにセルに色を描く機能

ランダムにセルに色を描く機能

 

標準モジュールを追加して、以下のソースを書きます。

 

ランダムに行と列に同じ色を描く機能を作成する

この機能では、行と列に描く色をランダムに指定します。

ランダムに行と列に同じ色を描く機能

ランダムに行と列に同じ色を描く機能

 

標準モジュールに、以下のソースを書きます。

 

ランダムに行と列に違う色を描く機能を作成する

この機能では、行と列それぞれ異なる色をランダムに指定します。

ランダムに行と列に違う色を描く機能

ランダムに行と列に違う色を描く機能

 

標準モジュールに、以下のソースを書きます。

 

3.ランダムにデザインを描く機能の使い方

それでは、先程作成した3つの機能を順番に動かしてみましょう。

「開発」タブの「マクロ」をクリックします。

マクロボタンを押す

マクロボタンを押す

ランダムにセルに色を描く機能を動かす

それでは、「ランダムにセルに色を描く」を選択し、「実行」ボタンをクリックします。

ランダムにセルに色を描く機能を動かす

ランダムにセルに色を描く機能を動かす

 

以下のように、各セル毎に異なる色が描かれます。

各セル毎に異なる色が描かれる

各セル毎に異なる色が描かれる

ちなみに、ランダムに色を決定していますので、実行するたびに異なるデザインになります。

 

ランダムに行と列に同じ色を描く機能を動かす

それでは、「ランダムに行と列に同じ色を描く」を選択し、「実行」ボタンをクリックします。

ランダムに行と列に同じ色を描く機能を動かす

ランダムに行と列に同じ色を描く機能を動かす

 

以下のように、行と列に同じ色が描かれます。

ランダムに行と列に同じ色を描く

ランダムに行と列に同じ色を描く

 

ランダムに行と列に違う色を描く機能を動かす

それでは、「ランダムに行と列に異なる色を描く」を選択し、「実行」ボタンをクリックします。

ランダムに行と列に違う色を描く機能を動かす

ランダムに行と列に違う色を描く機能を動かす

 

以下のように、行と列に異なる色が描かれます。

行と列の順番もランダムなため、奥行きがあるように見えます。

ランダムに行と列に違う色を描く

ランダムに行と列に違う色を描く

 

どうですか、気に入ったデザインを作成できましたか!?

 

4.ランダムにセルに色を描くVBAプログラムの説明

それでは、「ランダムにセルに色を描く」VBAプログラムを説明します。

①描く範囲(キャンバス)を変数に格納する

ここでは、このあとの処理で使う「色で遊ぶ」シートを変数に格納しています。

そうすることにより、入力するプログラムを短くすることができるからです。

キャンバスの範囲は、セルA1からT20にしています。

 

②キャンバスの1セルずつ処理を行う

ここでは、キャンバス内の1セルずつ順番に処理を行います。

ですから、キャンバス内のセルを順番に、変数「r」に格納します。

 

③赤、緑、青を0~255の範囲でランダムに指定する

ここでは、赤色を指定する変数「red」、緑色を指定する変数「green」、青を指定する変数「blue」にランダム関数「rnd」を利用してランダムな数字を格納します。

しかし、指定する数字は、0~255の範囲にする必要があるので、上記のような記述にしています。

 

④セルに色をつける

ここでは、RGB関数に先程用意したランダムな数字を格納した変数「red、green、blue」を渡しています。

そして、各セルの背景色に色を描いています。

 

5.ランダムに行と列に同じ色を描くVBAプログラムの説明

それでは、「ランダムに行と列に同じ色を描く」VBAプログラムを説明します。

①描く範囲(キャンバス)を変数に格納する

ここでは、このあとの処理で使う「色で遊ぶ」シートを変数に格納しています。

そうすることにより、入力するプログラムを短くすることができるからです。

キャンバスの範囲は、セルA1からT20にしています。

 

②キャンバス内の行と列毎に処理を行う

ここでは、キャンバス内の1行・1列毎に処理を行います。

1行目~20行目、1列目~20列目を対象に順番に処理を行います。

 

③赤、緑、青を0~255の範囲でランダムに指定する

ここでは、赤色を指定する変数「red」、緑色を指定する変数「green」、青を指定する変数「blue」にランダム関数「rnd」を利用してランダムな数字を格納します。

しかし、指定する数字は、0~255の範囲にする必要があるので、上記のような記述にしています。

 

④行に色をつける

ここでは、RGB関数に先程用意したランダムな数字を格納した変数「red、green、blue」を渡しています。

そして、各行の背景色に色を描いています。

 

⑤列に色をつける

ここでは、RGB関数に先程用意したランダムな数字を格納した変数「red、green、blue」を渡しています。

そして、各列の背景色に色を描いています。

 

6.ランダムに行と列に違う色を描くVBAプログラムの説明

それでは、「ランダムに行と列に違う色を描く」VBAプログラムを説明します。

①描く範囲(キャンバス)を変数に格納する

ここでは、このあとの処理で使う「色で遊ぶ」シートを変数に格納しています。

そうすることにより、入力するプログラムを短くすることができるからです。

キャンバスの範囲は、セルA1からT20にしています。

 

②キャンバス内の行と列毎に処理を行う

ここでは、キャンバス内の20行・20列に対して処理を行うため、20回処理を行うようにしています。

対象とする行と列は、ランダムに指定します。

 

③行と列を1~20の範囲でランダムに指定する

ここでは、行と列をそれぞれランダムに指定しています。

ランダムに選ぶ範囲は、1~20にしています。

 

④行に指定する赤、緑、青を0~255の範囲でランダムに指定する

ここでは、赤色を指定する変数「red1」、緑色を指定する変数「green1」、青を指定する変数「blue1」にランダム関数「rnd」を利用してランダムな数字を格納します。

しかし、指定する数字は、0~255の範囲にする必要があるので、上記のような記述にしています。

ここで用意したランダムな数字は、行の色に利用します。

 

⑤列に指定する赤、緑、青を0~255の範囲でランダムに指定する

ここでは、赤色を指定する変数「red2」、緑色を指定する変数「green2」、青を指定する変数「blue2」にランダム関数「rnd」を利用してランダムな数字を格納します。

しかし、指定する数字は、0~255の範囲にする必要があるので、上記のような記述にしています。

ここで用意したランダムな数字は、列の色に利用します。

 

⑥行に色をつける

ここでは、RGB関数に先程用意したランダムな数字を格納した変数「red1、green1、blue1」を渡しています。

そして、各行の背景色に色を描いています。

 

⑦列に色をつける

ここでは、RGB関数に先程用意したランダムな数字を格納した変数「red2、green2、blue2」を渡しています。

そして、各列の背景色に色を描いています。

 

以上です。

 

最後まで読んでいただきありがとうございました。
この記事をシェアしていただけると喜びます。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です