goo blog サービス終了のお知らせ 

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

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

セルをランダムに塗りつぶす(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)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« 生年月日から\"○歳○ヵ月\"を... | トップ | ルビを振ったら行間がバラバ... »
最新の画像もっと見る

10 コメント

コメント日が  古い順  |   新しい順
勉強不足です (コロン)
2009-09-02 10:40:58
今日のテーマの、セルをランダムに塗りつぶす と言うのは、VBAの知識がないので、私には何の事だかわからないです
また時間に余裕ができたら、勉強してみようと思います

返信する
はじめまして 初コメです (ともこ)
2009-09-02 13:15:12
なるほど
勉強になりました
マクロは時々使いますが
記録して必要個所を書き換えるだけだったので
Visual Basicもう少し勉強します
よろしくお願いいたします
返信する
コロンさんへ (だい)
2009-09-02 21:08:06
コメントありがとうございます。

セルをランダムに塗りつぶすという行為に、全く意味はありません。

ただ、シャレで取り上げてみたのです。

役に立つことがあるかどうかも・・・分かりません・・・

大目に見てくださいね。

これからもよろしくお願いいたします。
返信する
ともこさんへ (だい)
2009-09-02 21:09:27
コメントありがとうございます。

ともこさんの役に立つことがあれば取り上げたいと思ってます。

ご要望があれば、また、教えてくださいね。

今後もよろしくお願いいたします。
返信する
こんばんは (とも)
2009-09-03 01:57:23
お久しぶりです。
パソコンに詳しくなりたいと思いつつ、家が完成するまではどうにも余裕がなくて・・・。おバカなんで理解するのが大変なんですね。今までパソコンとは無縁の生活でしたので。でも、最近もっと詳しくなりたいと思っています。なので、もうすぐおうちも完成ですので勉強させてください。よろしくお願いします。
以前、SDカードがイカレテしまった時に無水エタノールで拭くといいかも…とアドバイスしていただいたのですが、その時は駄目だったのですが、今回壁紙のボールペン落としに大活躍でした。お名前を勝手に載せていただいたのですが(しかもカタカナですみません・・・)お名前の所にリンクを貼ってもよろしいでしょうか??
返信する
リカバリーができない (doremi)
2009-09-03 10:41:53
いつも貴重な情報ありがとうございます

古いパソコンが使っていると画面が消えてしまい、リカバリーをしようとしました。
リカバリーの途中でメッセージがでて、"<
Windows root>\system32\ha1.d11ファイルをインストールしなおして下さい。”と出ました。
これを解決するにはどうすればいいですか?
お願いします。
返信する
ともさんへ (ケン)
2009-09-03 22:40:17
SDカード駄目だったみたいですね。

>お名前の所にリンクを貼ってもよろしいでしょうか??
もちろん、いいですよ。
返信する
doremiさんへ (ケン)
2009-09-03 22:47:28
リカバリは「Norton Ghost」を使っていますか?
それともリカバリCDからですか?

「Norton Ghost」でしたら、ファイルが壊れているかもしれません。
最悪、メーカーに送ってリカバリしてもらうしかないです。

時間があれば何回かリカバリをやってみて下さい。
成功する可能性もあります。

私なんか、お客さんのPCで12回目で正常にリカバリ出来た事もあります。
どうもその機種のPCの不具合みたいですが。
他の同じ機種のPCでも10回以上リカバリしてやっと成功しました。
返信する
遅くなりました~。 (とも)
2009-09-03 23:09:31
早速貼らせていただきま~す。ありがとうございます。
今日の記事もとっても気になる。よく行間が変になってしまうので・・・。
返信する
願いを込めて~ (doremi)
2009-09-04 08:58:14
有難うございます。
書き足りずすみませんでした。
パソコンはNEC windows xpです
<Windows root>\system32\ha1.d11.
上記のファイルをインストールしなおして下さい。でした。
何回もリカバリ挑戦してみます。
回復しましたらご報告いたします。
返信する

コメントを投稿

エクセル」カテゴリの最新記事