• ベストアンサー

指定するセルの背景色を点滅させたい

教えてください。 複数の指定したセルを同時に点滅させる方法です。 下記のQ&A(No.2の回答)で一つのセルに対して点滅させる方法が紹介してありましたが、いくつかのセルを同時に点滅させたいのです。 標準モジュールの記述を変えれば対応できるのでしょうか? VBAは全くの初心者です。よろしくおねがいします。 http://hiroba.chintai.net/qa2751574.html

質問者が選んだベストアンサー

  • ベストアンサー
  • Kame_LABO
  • ベストアンサー率24% (30/122)
回答No.4

各ブロック内のColorIdx1とColorIdx2をそれぞれ好きな数字にして下さい。 指定した色に変わります。

busbus330
質問者

お礼

ありがとうございます。 何日かPC開く時間が無くお礼が遅れてしまい済みませんでした。 Kame_LABOさんの仰る通りうまく動きました。簡単な事のように説明していただきましたが私にとっては目から鱗です。人に聞く事ばかりではなく自分でも勉強しなくては・・・ですね! これからも宜しくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (3)

  • Kame_LABO
  • ベストアンサー率24% (30/122)
回答No.3

#1です > Const ColorIdx1 = 37 の37をかえれば可能だと思います。

busbus330
質問者

お礼

ありがとうございます。 質問の記述が足りませんでした・・・すみません。 同じシート上で点滅するセルをそれぞれ違う色にしたかったんですが・・・

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

WEBを当たって見ました。 http://www2.moug.net/bbs/exvba/20071001000030.htm のAPIを使っている方が動きました。 相当数記事はあるが、理解も不十分だったかもしれないが、他はうまくいかなかった。 ーー 3箇所なら(上記のコードの中で) '1個目 Call SB2_Iro(.Range("B1"), 3, 6) '2個目 Call SB2_Iro(.Range("C2"), 3, 6) '3個目 Call SB2_Iro(.Range("A2"), 8, 6) <=追加 のようにすればうまくいきます。だから増やせます。 色もばらばらにできます。 -- ただ実行中は、他の作業として、コピー貼り付けをやろうとすると、うまく行かなかった。 ーー こういうのはエクセル本体で、メニューなりの設定操作として、正式に取り上げてくれないと、ユーザーが独自にやるのは無理があるように思うがどうでしょうか。 エクセルはパワポなどと違って、そこまでと思ったのかも。

busbus330
質問者

お礼

ありがとうございます。 VBAも解らないのにAPI?ほとんど呪文のようです。 確かに上記Webの記述をコピペしたら動きました、がその後全く加工と言うか手を加えることが出来ません。 これからもっと勉強したいと思います・・・

全文を見る
すると、全ての回答が全文表示されます。
  • Kame_LABO
  • ベストアンサー率24% (30/122)
回答No.1

 With Worksheets("Sheet1").Range("A1").Interior   If .ColorIndex = ColorIdx1 Then    .ColorIndex = ColorIdx2   Else    .ColorIndex = ColorIdx1   End If  End With のA1を変えて、 Application.OnTime Now + TimeValue("00:00:01"), "Blink" の前に記述すれば可能だと思います。

busbus330
質問者

お礼

ありがとうございます。 ご指摘の通り記述したら見事複数セルが点滅しました。 これからもっと勉強します。 ちなみに点滅するセルの色を変えることは可能でしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • セルに色を付けて点滅させる

    ランダムに指定されたセルに色を付けて点滅させる。 たとえばB2、C5、D6、E10は黄色の色をつけて点滅、A10、B12、D10、F12は青色を付けて点滅させる。 ただしセルの中は空白状態で点滅 複数の色(10種類の色)を付けてセルを点滅する方法を教えてください。   

  • エクセルの結合セルの交換について

    初めて質問します。 エクセルで結合セルの文字データを複数同時に入れ替える方法を知っている方がいましたらお教えください。 過去に似たような質問があったのですが単独セル同士の入れ替えのみに対応しており結合セル同士の入れ替えや、複数のセルを同時に入れ替えることができませんでした。 「エクセルのデータ入れ替え ?」 http://okwave.jp/qa/q74186.html マクロも簡単なことしか知識になく、モジュールのプログラムをいじってもうまくいかずに困っています。 皆さんよろしくお願い致します

  • Excel セル範囲指定

    Excel VBA で、オフセット先のセルと一つ右のセルとを範囲指定する記述方法を教えて下さい。よろしくお願いします。 Range("????????????????").Select

  • エクセルVBA 指定のセル背景色を点滅させたい

    お世話になります。 忘れやすい入力セル シート名“施設”の セルF3 (入力が必要なのは100回に1回くらいなので、やむを得ませんが)を気に留めさせるために、そのセルF3の背景色を例えば「薄い青」と「白」で交互に入れ替えればどうかと思いました。 ネットで検索すると、下記のQ&Aが参考になり、うまく当てはめられるものもありました。 しかし、下記ページのANo.#6様の方法がとても魅力的に思えたのですが、うまく出来ないのです。 私の至らない点を教えていただけるでしょうか? 私は、下記ページのコードをシートモジュールに貼りつけました。 しかし、それだけではセルの色は変わりません。 OSはWin2000PRO エクセル2002を使用しています。 http://virus.okwave.jp/kotaeru.php3?q=1499419&rev=1 入力忘れを防止するためが目的ですが、フォームに入力欄を設けたりはしたくないのです。(ほとんどの場合は省略できるので) よろしく、お教えください。 お願いいたします。

  • INDIRECT関数で指定のセルを表示したい

    こちらの質問でINDIRECT関数を使って指定のセルを指定できました。 http://okwave.jp/qa/q6920409.html だたエラーになってしまします。 おそらく1つ1つ値の更新をしないといけないと思います。 これではかなり手間なのでINDIRECT関数を使って指定のセルを自動で表示できませんか? 同じフォルダ内のブックを使います。

  • セルを指定したVBA

    お願いします。 以前、このカテゴリーの質問で、特定のセルをダブルクリックすると”○”が入力されるコードがあり、重宝させてもらっています。 ただ、シート全体で適用となっているため、どのセルをWクリックしても”○”が入力されます。 特定のセルのみ適応されるような範囲指定のVBAはどのように記述したらいいのでしょうか? よろしくお願いします。

  • 複数のセルの関数で指定したセルを同時に変更したい

    複数セルに入力された関数が参照するセルを、同時に変更することはできますか? 関数で参照したセルが間違っていたり、新しいデータ入力でセルがズレた場合などで関数で指定されているセルを変更するのは手作業でやると面倒です。おまけにそれが複数の関数に影響したら一つ一つ手作業で変更していたら日が暮れます。 一括で指定セルの変更を行う方法はありませんか? ちなみに今回、全ての関数は同じセルを参照しています。

  • Excelでセルに入力するとVBA関数が呼び出される

    標記件、あるExcelファイルでセルに入力を行うと、入力後にVBAのある関数が自動で呼び出されるのですが、どこでこの設定を行う事ができるのでしょうか? VBAをOPENし、"ThisWorkbook"と"Sheet"内を開いても、何も記述はありません。通常はここで設定を行うと思うのですが・・・ (SelectionChangeなどで。) なお、呼び出される関数は、標準モジュール内に入っています。 以上、よろしくお願い致します。

  • VBAでセル指定するとき("A1")←半角?

    VBAでセルを指定するとき、 例えばA1のセルを選択するときにRange("A1")と書きますよね。 このときに「A」は半角で入力したのですが、これは全角の「A」でもいいのでしょうか。 実際に全角にしてVBAを組んでも、問題なく処理できました。 ただ「全角にしても問題なく処理できたからいいや」というのではモヤモヤしてしまい、 全角でも問題なく処理できるという記述があるテキストやサイトを探しているのですが 見つかりません。 セル指定するときに全角、半角は関係ないのでしょうか。

  • セル範囲と図形を指定してVBAで削除するには?

    エクセルで一枚のシートに複数のオートシェイプ(○、△、□)を使用したものがあります。 オートシェイプを使用しているセルの範囲は(A1:G20)と(AP1:AX20)の二箇所なのですが、 VBAで(A1:G20)の範囲にあるオートシェイプ(○のみ)を削除する事はできますか? (A1:G20)の範囲にあるオートシェイプは全体がこのセル範囲に入っています。 手動で、オブジェクトの選択で範囲指定をした後削除という方法もあるのですが この削除の作業の前後に他のVBAを使用しているので、 VBAで削除が出来ればと思います。 いろいろ検索したのですが、セル範囲もしくは図形のいずれかを指定して 削除する方法はあったのですが、両方を指定してのVBAがわかりませんでした。 よろしくお願いいたします。

専門家に質問してみよう