
お世話になります。
忘れやすい入力セル シート名“施設”の セルF3
(入力が必要なのは100回に1回くらいなので、やむを得ませんが)を気に留めさせるために、そのセルF3の背景色を例えば「薄い青」と「白」で交互に入れ替えればどうかと思いました。
ネットで検索すると、下記のQ&Aが参考になり、うまく当てはめられるものもありました。
しかし、下記ページのANo.#6様の方法がとても魅力的に思えたのですが、うまく出来ないのです。
私の至らない点を教えていただけるでしょうか?
私は、下記ページのコードをシートモジュールに貼りつけました。
しかし、それだけではセルの色は変わりません。
OSはWin2000PRO エクセル2002を使用しています。
http://virus.okwave.jp/kotaeru.php3?q=1499419&re …
入力忘れを防止するためが目的ですが、フォームに入力欄を設けたりはしたくないのです。(ほとんどの場合は省略できるので)
よろしく、お教えください。
お願いいたします。
No.2ベストアンサー
- 回答日時:
こういう方法はいかがでしょうか。
標準モジュールに以下を記述
Sub Blink()
Const ColorIdx1 = 37
Const ColorIdx2 = xlColorIndexNone
With Worksheets("Sheet1").Range("A1").Interior
If .ColorIndex = ColorIdx1 Then
.ColorIndex = ColorIdx2
Else
.ColorIndex = ColorIdx1
End If
End With
Application.OnTime Now + TimeValue("00:00:01"), "Blink"
End Sub
続いてThisWorkBookに以下を記述
Private Sub Workbook_Open()
Blink
End Sub
これで保存していったんブックを閉じ、再び開いてみてください。Sheet1のA1セルが1秒間隔で点滅します。
お礼が遅くなり、大変申し訳ありません。(しばらくネットを見れない日がありました。)
本当に、ありがとうございました。
期待どおりのものができて、大満足です。
これで、仕事の説明も簡単にできるようになりました。
ありがとうございました。
No.4
- 回答日時:
こんばんは。
#1 のWendy02です。コード的にみて、#1 と#2では、#2のほうが出来がよいです。OnTime の点滅スピードは、1秒以上だったと思いますので、それ以下になると、以下のようなものになります。ただし、長い間点滅するのはうっとうしいので、回数を決めてあります。
これは、標準モジュールのみの設定です。それ以外では、エラーが返ります。起動自体は、Workbook_Open や Auto_Openなどに、Call TimerCall で、設定してください。
もしも、[回数設定]しなければ、開いている間中、点滅しています。入力しているときだけ、点滅はとまります。回数を設定しないで止めるときは、TimerStopをしないと、止まりません。
以下は、私にとっても、高嶺の花のコードですが、もう、半分棺おけに入っているコードですから、WinXPの後、どうなるのか分かりません。今は、まだ、私などは、10年も15年も遅れて勉強をしている段階ですので、先は長いなって思います。
'標準モジュール
'--------------------------------------------------------
Private Declare Function GetTickCount Lib "kernel32" () As Long
Private Declare Function SetTimer Lib "user32" _
(ByVal Hwnd As Long, ByVal nIDEvent As Long _
, ByVal uElapse As Long _
, ByVal lpTimerFunc As Long) As Long
Private Declare Sub KillTimer Lib "user32" (ByVal Hwnd As Long, ByVal nIDEvent As Long)
Private myTimerId As Long
Private myRng As Range
Private myStartUp As Long
Private myCount As Long
Sub TimerCall()
'起動キー
Dim myInterval As Long
myCount = 0
myInterval = 300 '単位は、ms(ミリ秒)
Set myRng = Sheet2.Range("F3")
myStartUp = GetTickCount()
myTimerId = SetTimer(0&, 0&, myInterval, AddressOf TimerCount)
End Sub
Sub TimerCount(ByVal Hwnd As Long, ByVal uMsg As Long _
, ByVal idEvent As Long, ByVal dwTime As Long)
Dim myTime As Double
i = (GetTickCount() - myStartUp) Mod 2 '点滅
On Error Resume Next
myRng.Interior.ColorIndex = i * 34 '色のColorIndex
myCount = i + myCount 'カウントを取る
If myCount > 20 Then Call TimerStop '回数設定
End Sub
Sub TimerStop()
'タイマーを止める
KillTimer 0&, myTimerId
myRng.Interior.ColorIndex = xlNone
End Sub
お礼が遅くなり、大変申し訳ありません。(しばらくネットを見れない日がありましたのと、
>起動自体は、Workbook_Open や Auto_Openなどに、Call TimerCall で、設定してください。
の部分が私のレベルでは判らず、ネットで検索していました。)
この質問で、他の方がThisWorkbookに別に記す方法をお教えいただいたので、それを応用して貼り付けると、思い通りにできました。
本当に、ありがとうございました。
期待どおりのものができて、大満足です。
ありがとうございました。
No.3
- 回答日時:
「100回に1回くらい」しか、F3セルの入力は不要なのですね?
F3セルに入力が必要となる条件がはっきりしているなら、その条件になった時に警告メッセージを出せばよいのではありませんか?
(点滅も一種の警告メッセージといえますが…)
100回の内99回まで必要ではない「警告メッセージ」を毎回出すと、入力する側は煩わしいし、警告の意味も薄れます。
説明不足ですみません。
この場所は、何月かを入力する場所なのですが、自動で今月が入るように設定されているので、普段は入力しなくて良いのです。
このファイルは、原則、当月のみの処理に限っていますので。
そうは言っても、月末になると、例外的に翌月分の登録をしたり、月初に前月分の処理をすることもまれにあるのですが、そのためのものなのです。
警告メッセージではありますが、ソフトに注意を促す程度でいいと思っています。
アドバイス ありがとうございました。
No.1
- 回答日時:
こんにちは。
Wendy02です。>下記ページのANo.#6様の方法がとても魅力的に思えたのですが、うまく出来ないのです。
そこに書かれているものは、ほんのお遊び程度にしか過ぎません。今みると、少し不安も感じますし、また、このレベルでも、本格的なものを作るには、かなり、高度な技術が必要な気がします。
今回は、簡易型です。(すみません)
'シートモジュール設定' WorkSheet_Activate イベント と用いると良いです。
'Option Explicit
'次にPrivate Declare... を入れます。
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sub ColorAlternating()
Dim myInt As Long
Dim i As Long
myInt = 300 '点滅のスピード 1000 = 1秒
With Range("F3")
For i = 1 To 10
DoEvents
.Interior.ColorIndex = 34 '薄い青
Sleep myInt
.Interior.ColorIndex = 2 'しろ
Sleep myInt / 2
Next
.Interior.ColorIndex = 0 '自動
Beep
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) エクセルで条件付き書式を使わずにセルの文字の色を変える方法を教えて下さい 8 2023/07/28 01:15
- Excel(エクセル) エクセルのフッタやヘッダーについて 3 2023/02/04 09:45
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
- Visual Basic(VBA) VBA 検索と入力 Excel ブック ぶぶぶ シート ししし 列V 検索対象の列です 最終行は、お 6 2023/05/17 01:40
- Excel(エクセル) Excelについて▶あるセルに文字を入力すると、別のセルに色がつく(条件付き書式) 1 2022/03/27 16:43
- その他(データベース) Accessフォームからパラメーターで表示したレコードを指定のExcelのセルへ転送する方法について 2 2022/08/22 18:04
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルのセルや文字を点滅表示できますか?
Excel(エクセル)
-
セル背景や文字を点滅させる方法
Word(ワード)
-
Excelで文字の点滅方法
Excel(エクセル)
-
-
4
一定時間間隔でセルを点滅させたい
Visual Basic(VBA)
-
5
エクセルで、セル内の文字を点滅させるには。
その他(Microsoft Office)
-
6
エクセル VBA 条件によるセル点滅 お詳しい方 ご教授をお願いします。 Excelファイルにて 現
Visual Basic(VBA)
-
7
エクセルVBAでオートシェイプを点滅させたい。
Excel(エクセル)
-
8
セルをフリッカーされる方法
Excel(エクセル)
-
9
エクセルのVBA 特定のセルでエンターキーでマクロ実行
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PS3コントローラーが充電できな...
-
PCXのスマートキーでエンジンを...
-
EAのゲームで画面が点滅する
-
LUA2-TXのランプがずっと点滅
-
至急お願いします スマホを落と...
-
tap式コンセントの電気が点滅し...
-
F3のセルフタイマー
-
Audi TTの時計の合わせ方。
-
一定時間間隔でセルを点滅させたい
-
スマートキーの赤い点滅ランプ...
-
Firefoxでネットするとカーソル...
-
エンジン警告灯が点滅していま...
-
アンサーバックの点滅
-
蛍光灯 なぜ線がはいってしま...
-
word2003の異常について
-
LED点滅回路について
-
HPビルダーの文字の点滅
-
リアフォグのようなものを点滅...
-
ガス給湯器 ノーリツ RC-7626M ...
-
非安定マルチバイブレータは自...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで文字の点滅方法
-
スマートキーの赤い点滅ランプ...
-
EAのゲームで画面が点滅する
-
ダイアグとは・・・?
-
PS3コントローラーが充電できな...
-
至急お願いします スマホを落と...
-
PCXのスマートキーでエンジンを...
-
オーディオインターフェースのU...
-
一定時間間隔でセルを点滅させたい
-
UR22mk2がある日突然、白ランプ...
-
エクセルで、セル内の文字を点...
-
Audi TTの時計の合わせ方。
-
エクセルVBAでオートシェイ...
-
TEPRA Lite LR30 が壊れた?
-
時計 アルミフレーム インテリ...
-
子供用デジタル時計設定
-
黄色の点滅信号と赤の点滅信号...
-
メールが届いた時にアイコンを...
-
LANケーブルの接続部分が点滅し...
-
CBR954の時計
おすすめ情報