エクセルの関数や表作成、基本的な事は身につけることができ、次のステップに進もうと思い、マクロについて勉強したいと思い質問させていただきました。
今の目標としては、ある数値以下の時、またはそれ以上のときにセルを点滅、または文字を点滅させる方法などがありましたら教えて頂きたいです。条件付き書式でセル、またはフォント色を変えられても、点滅をさせる方法などは私には到底できる領域ではなく、マクロについても全く無知です。分かる方がいらしたらどうか教えてください。私のレベルはとりあえず基本的関数、マクロ以外の機能を理解できる程度です、尚プログラム言語については今から勉強という段階で全く分かりません。どうかこの程度のレベルの私ができる程度に説明して下さる方宜しくお願い致します。
No.4ベストアンサー
- 回答日時:
#1 #3 です。
>マクロについて勉強したい...
とのことでしたね。コメントを多く入れておきましたので、ご参考下さい。
また、さらに改造して、「A列にデータを入力すると」になっています。
【以下コード】
'API宣言---魔法の呪文みたいなもの
Private Declare Sub Sleep Lib "KERNEL32.dll" _
(ByVal dwMilliseconds As Long)
'EXCEL既定のイベント
Private Sub Worksheet_Change(ByVal Target As Range)
'セルが変化したら、以下のコードを実行
'変化のあったセルは Target であらわされる
'変数の宣言
Dim i As Integer
Dim ColorDat
'カラーインデックス定義
ColorDat = Array(15, 48, 16, 56, 16, 48, 15)
'エラートラップ
On Error Resume Next
'変化のあったセル=TargetがA列(列番号=1)であれば
'End If までの挟まれたコードを実行
If Target.Column = 1 Then
'そのセル背景色を
With Target.Interior
'配列ColorDatに書かれたデータ数だけ繰り返す
For i = 0 To UBound(ColorDat)
'ColorDatのi番目のカラー番号でセル背景色を塗る
.ColorIndex = ColorDat(i)
'API 30ミリ秒 Wait
Sleep 30
Next i
'最後にセルの背景色を解除
.ColorIndex = xlNone
End With
End If
End Sub
凄い分かり易く、教科書を見ているようです。
先程までは到底分かりませんでしたが、説明を見ながらならば理解できる領域にまで来る事ができているようです。色々いじくることも勉強の一環だと思いますので、色々自分でもいじくってみたいと思います。
ですが、皆様の知識には本当に頭が下がります。
少しでも近づけたら何よりだと感じます。
とりあえずこれを基に("A7")に1から1000の間、1501以上にtargetを絞りたいと思います。本当にありがとうございました。
No.3
- 回答日時:
>私がマクロやVBAに興味を持ったきっかけでしたものでその方法を初めに知りたくて皆様にお願い致しました。
>点滅を速くできるのであればまさに私の探し求めてた事が実現できます。
では。
色の書き換えにWAIT処理を入れる必要があるのですが、EXCELのWAITは1秒単位でしかかけられません。
この場合、VBA初心者には敷居が高いのですが API を使います。とは言え簡単な部類です。
#2 macchan1 さんのコードを改造し、セルがフラッシュするように見せるものです。
Sleepのあとの数字で、スピードを調整します。
同じく、セルに10以下の数字が入力されるとイベント発生です。
頑張って下さいね(^^)
'API宣言
Private Declare Sub Sleep Lib "KERNEL32.dll" _
(ByVal dwMilliseconds As Long)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim ColorDat
If Target.Value < 10 Then
'カラーインデックス定義
ColorDat = Array(15, 48, 16, 56, 16, 48, 15)
For i = 0 To UBound(ColorDat)
Target.Interior.ColorIndex = ColorDat(i)
Sleep 50 'API 50 msec Waitします
Next i
Target.Interior.ColorIndex = xlNone
End If
End Sub
何度もお手数かけて頂き本当にありがとうございます
。これが私のやりたいことでした!!先ほどから5時間くらいずっと実践して本当に僅かですができるようになりました。ですが皆様のレベルに到達するには
・・・と思うと高いハードルだ。と思いつつも
頑張ろうと思えます。これをもとにコードの詳細を調べさせて頂きたいと思います。完璧な回答の中で初心者の私が疑問に思うのは、関数のように特定のセル(D4,E4,F4に適用等)や条件付き書式のように
(1~1000の間、1501以上の時のみ点滅等)できないのかが疑問です。今日から寝る間を惜しんで本やPCで調べたいと思います。もし分かるのでしたら時間がある時でいいので教えていただければ幸いです。本当にアドバイスや回答ありがとうございました。
No.2
- 回答日時:
あまりお奨めできませんがマクロの勉強ということなので例を考えてみました。
例えばフォント色を変えるイベントマクロで入力した数字によって点滅のように見せることができます。
シート名を右クリックして「コードの表示」から以下のコードをコピーペーストしてみてください。
10未満の数を入力したときフォントが点滅しているように見えます。
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
If Target.Value < 10 Then
For i = 1 To 5
Target.Font.ColorIndex = 2
Application.Wait Now() + TimeValue("00:00:01")
Target.Font.ColorIndex = 0
Application.Wait Now() + TimeValue("00:00:01")
Next
End If
End Sub
非常に勉強になります!!一つ一つの意味は理解できませんが、これを特定のセルに適用、背景色を点滅でき、点滅を速くできるのであればまさに私の探し求めてた事が実現できます。
もし、もしもう一度私の質問に貴重な時間を使って下さるのなら、コードの意味と上記に記載したようなことができるのか否かを教えていただければ光栄です。
No.1
- 回答日時:
EXCELにはセル背景や文字を点滅させる方法はありません。
VBAで擬似的にはできないこともありませんが。
1. フラッシュの原理として
A)セルの背景色書き換え
B)文字色の書き換え
のマクロを書く
2. Ontimeで数秒ごとにマクロ実行
と単純です。例えば、文字なら「黒」「白」を一定時間ごとに色を切り替えれば、点滅しているように見えます。
しかし、この場合常に数秒置きにマクロが実行されることになりますので、EXCELがまともに動作しなくなります。したがって、やめた方がよいでしょう。「目立たせたい」のであれば、「色使いやフォントの使い方によるデザイン」で勝負すべきです。
>マクロについて勉強したい...
とのことですが、セルや文字の点滅ではなく、別のテーマにした方が良いと正直思います。
アドバイスありがとうございます。私がマクロやVBAに興味を持ったきっかけでしたものでその方法を初めに知りたくて皆様にお願い致しました。
「デザインで勝負」とても参考になりました。
このアドバイスを機に向上していきたいと思います。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
ロボットの住む世界で流行ってる罰ゲームとは?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
Excelで文字の点滅方法
Excel(エクセル)
-
エクセルのセルや文字を点滅表示できますか?
Excel(エクセル)
-
エクセルで、セル内の文字を点滅させるには。
その他(Microsoft Office)
-
-
4
エクセルVBA 指定のセル背景色を点滅させたい
Excel(エクセル)
-
5
一定時間間隔でセルを点滅させたい
Visual Basic(VBA)
-
6
エクセル セルのデータが更新したら点滅させる
Excel(エクセル)
-
7
エクセルVBAでオートシェイプを点滅させたい。
Excel(エクセル)
-
8
メッセージボックスに表示する文字を大きくしたい
Excel(エクセル)
-
9
エクセル VBA 条件によるセル点滅 お詳しい方 ご教授をお願いします。 Excelファイルにて 現
Visual Basic(VBA)
-
10
セルをフリッカーされる方法
Excel(エクセル)
-
11
セルのブリンクと停止
Excel(エクセル)
-
12
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
13
フォントの大きさ
Visual Basic(VBA)
-
14
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
15
gif画像をエクセルのシートに貼り付けて動かしたい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
クリックすると文章が表示され...
-
【EXCEL】先週の月曜日の日付を...
-
エクセル 数字をすべて○などの...
-
太字に設定されているセルの個...
-
Excel内での検索結果をシート...
-
EXCELのセルや文字色の反映
-
フォントの色を指定して削除出...
-
エクセル 未入力セルがあると...
-
太文字だけをフィルターにかけ...
-
現在のセルの位置を返す関数は...
-
sum関数使った点数の合計表を ...
-
エクセルチェックボックスにつ...
-
エクセル 行列を入れ替えてオ...
-
[エクセル VBA]テキストファ...
-
エクセルのシングルコーテーシ...
-
エクセル マクロコード 文字化け
-
セルがクリックされた回数をカ...
-
[EXCEL] フォント変更が正常に...
-
エクセルでページ数をあるセル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCELで特定のセルに表示...
-
Excel内での検索結果をシート...
-
エクセル 数字をすべて○などの...
-
クリックすると文章が表示され...
-
太字に設定されているセルの個...
-
Excelで、図形内の文字をセルに...
-
Excelでセルをクリックす...
-
Excel ハイパーリンクのURLを別...
-
ページ内ハイパーリンクの表示...
-
マクロを実行すると画像がズレ...
-
現在のセルの位置を返す関数は...
-
セル背景や文字を点滅させる方法
-
エクセルでPDFリンクを大量...
-
EXCELのセルや文字色の反映
-
エクセル 未入力セルがあると...
-
【EXCEL】先週の月曜日の日付を...
-
エクセルでページ数をあるセル...
-
セルがクリックされた回数をカ...
-
VBA 見つからなかった時の処理
-
フォントの色を指定して削除出...
おすすめ情報