クリスマスも過ぎ、今年もあとわずかになりました。皆さん、お変わりありませんか?
さて、今日は、エクセル上でイルミネーションのようなものを作ってみましょう。
何の役にも立ちませんが、クリスマスの余韻ということで大目に見てください。
エクセルを起動して、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がいい感じでした。適宜調整してください。
そのあと、セルの塗りつぶしをなしにしています。
今年一年、お世話になりました。
来年も実りのある一年になることを祈っています。
新年にまたお会いしましょう。
だい
なかなかコメントは残せませんでしたが、いろいろと参考になる記事があり、助かりました。
来年もよろしくお願いします。
今年一年このサイトにて、多くの事を学びました?
実践には程遠い状況ですが、有り難う御座いました。
迎える2012年もよろしくお願い致します。
ご家族と共に良い年末、年始を過ごされますように・・・
充実した年であったと推察します。
良い年をお迎えください。
来年もよろしくお願いします。
来年もよろしくお願いします。
良い年をお迎えください。
今日の上田市は、快晴です。
いつもブログ訪問をありがとうございます。
PCに弱い私には、勉強になることばかりの情報ですね。
また訪問いたします。
来年もよろしくお願いします
エクセルはいろいろな事ができるんですね。
C言語やC++は分かるのですが、VBAやVBの記述方法は苦手なので、全くではないですが分かりません。
でも、こんな事ができるなら時間があればですが勉強してみようと思います。
これからもよろしくお願いします。
ご訪問ありがとうございます
PC得意でないので来年は
教わりたいと思っています
良いお年をお迎えください
本当に、助かりました。
来年も、どうぞよろしくお願いいたします。
みなさん、お身体に気を付けて、良いお年をお迎えください。
今年も日々有難うございました
大変な一年でしたが夢を持って
前進していきたいですね!
来年も宜しくお願いします
良いお年お迎えください
何時も御訪問頂き有難うございます。
来年も宜しくお願い致します。
来年も素敵な一年でありますように心から願っております