パソコンカレッジ スタッフのひとりごと

パソコンスクールのスタッフが、
初心者から上級者まで役立つ情報をお伝えします。

セルをランダムに塗りつぶす(Excel2000以降)

2009-09-02 09:06:11 | エクセル
9月になりましたね。

勉強には最適の季節になりました。

勉強の合間に、エクセルの画面を眺めながら、ランダムに塗りつぶされるセルを見つめ、もの思いにふけってみませんか?

なんちゃって。

こんな感じですよ。





もう一度実行すると、今度は、色が変わりましたよ。





実行するたびに、色は変わります。まるで女心のように・・・


VBAを使うと、こんなことができますよ。


それでは、一緒にコードを書いてみましょう。


Excelを起動したら、Altキーを押しながら、F11キーを押してください。

Visual Basic Editorが表示されますね。

「挿入」メニューから「標準モジュール」をクリックしてください。

表示された白紙の画面にコードを記述しますよ。


それでは、以下のように書いてください。


--------------------------------------------
Sub RandomPaint()
    Dim r As Range
    
    '完全にランダムにする
    Randomize
    
    '選択範囲に対して、繰り返し処理をする
    For Each r In Selection
        '塗りつぶしの色番号をランダムに設定する
        r.Interior.ColorIndex = Int(Rnd() * 56)
    Next
    
End Sub
--------------------------------------------



画像でもお見せしましょう。

画像の緑色の部分は、記述しなくてもいいですよ。





rnd関数は、ランダムな数字を0~1未満で発生させる関数です。
その数字を、n倍して整数部分を取り出すと、n-1までの数字となります。

なお、randomizeというおまじないを書くと、本当にランダムな数字を生成します。


それでは、再度、Altキーを押しながら、F11キーを押してください。
Excelに切り替わります。


それでは、実行してみましょう。

まず、適当にセル範囲を選択してください。

このあと、マクロを実行すると、この選択範囲内のセルがランダムに塗りつぶされますよ。

Altキーを押しながら、F8キーを押して、「マクロ」ダイアログボックスが表示されたら、「実行」を押してください。






すると、ほら、まあカラフルだこと。






何度でも実行できます。その都度、色が変わります。

ちなみに、色をクリアするには、範囲選択してから、「編集」→「クリア」→「書式」ですよ。



だい
コメント (10)
  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

【おすすめ】

パソコン買ったらまず入れる10のアプリ