こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

回答受付中の質問

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

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

投稿日時 - 2018-06-13 15:44:26

QNo.9507973

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

WEBサイトを記述する、HTML文
http://www.tohoho-web.com/html/blink.htm
やJavaScritには
https://qiita.com/n4o847/items/3fc84a2937aa9b2f7a58
などがあるので、日常的におなじみの機能でしょう。
素人の感じではブリンクの設定は簡単そうだが、ビジネスを中心に発達してきている表計算ソフトのエクセルでは、ブリンクの機能は設けて無い。
ーー
ワードでは昔のバージョンでは在ったように記憶するが、今はどうかな。
ーー
VBAでもセル(Range)の、メソッドやプロパティではブリンクは設けられていない。
だから疑似的に、タイマーで定刻(規則)的に時間が来たら、一旦見えなくして、また復活するプログラムを組まないといけない(自作)。
沢山のセルを質問のように(同時?ずらして?)点滅させるのは、さらにプログラム力が要る。
初心者ならあきらめたら。
https://oshiete.goo.ne.jp/qa/2751574.html など、
過去にも質問があるよ。
1セルの場合だが。Application.OnTime を使っている方法がベストアンサーになっている。

投稿日時 - 2018-06-13 17:52:01

ANo.3

【補足】バグ取り前をアップしました。

バグ1:Call が欠落。
バグ2:ChangeColor()の綴りミス。

以上。

なお、Excel は操作したことも、同VBA を書いたこともない70歳になる爺のアレンジ。不適な個所は修正されたし。

投稿日時 - 2018-06-13 16:42:26

ANo.2

ANo.1 のサンプルをチョイ加工すればOKかと・・・

' *******************
' Start blinking
' *******************
Sub StartBlinking()
  Dim NextBlink As Double

  Application.Goto Range("A1"), 1
  ' --------------------------
  ' change the color
  ' --------------------------
  ChangeColor("Sheet1!B2",6)
  ChangeColor("Sheet1!c5",6)
  ChangeColor("Sheet1!d6",6)
  ChangeColor("Sheet1!e10",6)
  ChangeColor("Sheet1!A10",5)
  ChangeColor("Sheet1!B12",5)
  ChangeColor("Sheet1!D10",5)
  ChangeColor("Sheet1!F12",5)
  ' ---------------------------------------------------------------------
  ' Wait one second before changing the color again
  ' ---------------------------------------------------------------------
  NextBlink = Now + TimeSerial(0, 0, 1)
  Application.OnTime NextBlink, "StartBlinking", , True
End Sub

Sub ChengeColor(ByVal CellName AS String, ByVal intColorIndex AS Integer)
  If Range(CellName ).Interior.ColorIndex = intColorIndex Then
    Range(CellName ).Interior.ColorIndex = 0
  Else
    Range(CellName ).Interior.ColorIndex = intColorIndex
  End If
End Sub

一応、ちゃんと点滅しました。

投稿日時 - 2018-06-13 16:38:09

ANo.1

セル関数や書式では出来ません。
どうしてもいう場合はVBAでやる事になります。
https://msdn.microsoft.com/ja-jp/VBA/Excel-VBA/articles/make-a-cell-blink

投稿日時 - 2018-06-13 16:21:36