クリスマスも過ぎ、今年もあとわずかになりました。皆さん、お変わりありませんか?
さて、今日は、エクセル上でイルミネーションのようなものを作ってみましょう。
何の役にも立ちませんが、クリスマスの余韻ということで大目に見てください。
エクセルを起動して、Visual Basic Editorを表示します。
「挿入」、「標準モジュール」とクリックして、さあ、コーディング開始です。
Sub main()
Dim r As Range
Randomize
For Each r In Range("A1:J10")
r.Interior.Color = RGB(Int(Rnd() * 255), Int(Rnd() * 255), Int(Rnd() * 255))
DoEvents
ThreadSleep 1000000
r.Interior.ColorIndex = 0
Next
End Sub
Private Sub ThreadSleep(ByVal n As Long)
'時間稼ぎのプロシージャ
Dim i As Long, a As Long
For i = 0 To n
a = Sqr(i) * Sqr(i)
Next
End Sub
画像も載せておきます。
結果がどうなるかは、実際にプログラムを実行してください。
コードの簡単な解説です。
For each Next構文で、セル範囲A1:J10のセルを順にrに代入しています。
rの塗りつぶしの色をRGB関数で指定しています。
引数は、左から順番に赤の割合、緑の割合、青の割合を0~255で指定します。
この値を、Rnd関数で指定しています。
Rnd関数は、乱数を発生させる関数で、0~1未満の数をランダムに発生させます。
ただし、本当にランダムにするには、事前にRandomizeステートメントを記述しておく必要があります。
DoEventsは、面白いステートメントで、客観的に自分を見直す役割をします。
繰り返し処理の描画がうまくいかない場合には、この一文を入れます。
ThreadSleep は、時間稼ぎのためのプロシージャです。引数を大きくすると動きが遅くなります。
反対に小さくすると早くなります。
私のPCでは、1000000がいい感じでした。適宜調整してください。
そのあと、セルの塗りつぶしをなしにしています。
今年一年、お世話になりました。
来年も実りのある一年になることを祈っています。
新年にまたお会いしましょう。
だい
さて、今日は、エクセル上でイルミネーションのようなものを作ってみましょう。
何の役にも立ちませんが、クリスマスの余韻ということで大目に見てください。
エクセルを起動して、Visual Basic Editorを表示します。
「挿入」、「標準モジュール」とクリックして、さあ、コーディング開始です。
Sub main()
Dim r As Range
Randomize
For Each r In Range("A1:J10")
r.Interior.Color = RGB(Int(Rnd() * 255), Int(Rnd() * 255), Int(Rnd() * 255))
DoEvents
ThreadSleep 1000000
r.Interior.ColorIndex = 0
Next
End Sub
Private Sub ThreadSleep(ByVal n As Long)
'時間稼ぎのプロシージャ
Dim i As Long, a As Long
For i = 0 To n
a = Sqr(i) * Sqr(i)
Next
End Sub
画像も載せておきます。
結果がどうなるかは、実際にプログラムを実行してください。
コードの簡単な解説です。
For each Next構文で、セル範囲A1:J10のセルを順にrに代入しています。
rの塗りつぶしの色をRGB関数で指定しています。
引数は、左から順番に赤の割合、緑の割合、青の割合を0~255で指定します。
この値を、Rnd関数で指定しています。
Rnd関数は、乱数を発生させる関数で、0~1未満の数をランダムに発生させます。
ただし、本当にランダムにするには、事前にRandomizeステートメントを記述しておく必要があります。
DoEventsは、面白いステートメントで、客観的に自分を見直す役割をします。
繰り返し処理の描画がうまくいかない場合には、この一文を入れます。
ThreadSleep は、時間稼ぎのためのプロシージャです。引数を大きくすると動きが遅くなります。
反対に小さくすると早くなります。
私のPCでは、1000000がいい感じでした。適宜調整してください。
そのあと、セルの塗りつぶしをなしにしています。
今年一年、お世話になりました。
来年も実りのある一年になることを祈っています。
新年にまたお会いしましょう。
だい