
No.3ベストアンサー
- 回答日時:
条件付き書式のほうが優先ですからねえ。
条件付き書式でセルを修飾した後に色を付けるという、タイミングを見計らっての操作が必要になりますが、これ、結構面倒。
しかも重い。
・・・
どのようにアクティブセルに色を付けているのか分かりませんが、
自分なら条件付き書式のほうに色を付ける条件を追加します。
=AND(CELL("ROW")=ROW(), CELL("COL")=COLUMN())
こんな条件式を色を付けたい範囲のセルに追加。(もちろん条件の一番上に置きます)
中身は、
・CELL関数で選択されているセルの行と列の番号を取得し、
・それぞれのセルの位置をROW関数、COLUMN関数で取得し、
・その値を比較する。
・同じならセルが選択されていると判断。
今感じです。
試しに設定を追加してみてください。
そしてセルを選択したら、F9キーを押してみてください。
要望とはちょっと違う動作になりますが、ほぼ希望する動作になっていると思います。
セルを選択したら即、色が変わってほしいのですよね。
F9キーは手動で再計算を手動で行う操作です。
そこはマクロ(VBA)で「Application.ScreenUpdating プロパティ」を使います。
Application.ScreenUpdating = TRUE
これでOK。
再計算をしてくれます。
本来は「自動で計算しないよう」FALSE を指定して使った後に
”元に戻すために指定する”
のですが、強制的に再計算させるので TRUE を指定して使います。
あとは「Workbook_SheetSelectionChange イベント」で選択するセルが変わったらマクロを起動させればいい。
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Excel.Range)
Application.ScreenUpdating = True
End Sub
こんなマクロを追加になります。
(ちょっと重いのは勘弁してください)
・・・
考え方はすごく簡単ですが、ここまで到達できる人はなかなかいません。
ですのでヒントだけにしたかったのですが、この程度なら解説を含めても1000文字にもならないと判断し
そのまんま記載させていただきました。
……って、No.2 の回答者さんがそのまんま回答してますね。
解説で式の意味がわかり、大変助かります。
教えていただいた条件付き書式をつくり、他の方も言われているように優先順位を上げることで色をつけることができました。
ありがとうございます。
No.4
- 回答日時:
No2です。
セルを利用しなくてすむので、No3様の方法の方が良いと思いますよ。
計算量は若干違うかも知れませんが、内部計算なのでさほどの差にはならないと思います。
(負荷がかかることは、No2もNo3も変わりがありません)
すぐに返答していただいたのに反映させることが出来ずにすみません。
以前教えていただいたものは、他のセルへの文字の追加や色付けなど応用して使用させてもらっており、本当に助かっています!
今回は処理にさほど差がないとのことなので、今使用出来ているNo.3の方のやり方でいこうと思います。
ありがとうございます!
No.2
- 回答日時:
こんばんは
>VBAでアクティブセルに色が着くようしています。
具体的にどのような方法で行っているのか不明ですが、単にセルの背景色などを設定する方法だと、条件付き書式の方が優先されますので、ご質問のようになっているのではないかと推測します。
該当セルの条件付き書式を一旦外して、復帰するという処理を行えば、現状の方法でも色が着くはずですが、条件付き書式を操作するのはかなり面倒だと思います。
代替案として、条件付き書式の優先順位を利用する方法を考えてみました。
1)activecellの位置を返すユーザ関数を用意しておいて、
「これとセル位置が一致したら色を付ける」という条件付き書式を、優先順位を高くして設定します。
2)セル位置の変更では上記関数は動作しないので、
SelectionChangeイベントで、シートを再計算させます。
以上で動作するようにはなりますが、条件設定範囲が広いと(全部計算するため)反応がかなり鈍くなるので、実用的とは思えませんでした。
反応速度を上げるために、次案として、作業用のセルを利用する方法を試してみました。
固定セルに、SelectionChangeイベントで、activecellのアドレスを返すようにします。
3)条件付き書式では、
CELL("address",セル位置)と上記のアドレスが一致したら色が着くようにしておきます。
(優先順位を高くしておくことは同じです)
こちらの方法であれば、ほぼ支障がない程度の速度で反応してくれます。
(負荷がかかっていることには変わりがありませんけれど・・)
この間は大変ありがとうございました。
思った通りの動作をしており、助かっています。
教えていただきたいのですが、SelectionChangeイベントで、activecellのアドレスを返すところで
Cells(3, 3).Value = Cells(ActiveCell.Row, ActiveCell.Column)
を追加したのですが、地番というよりそのセルに入力してある文字が表示されてしまいます。
条件付き書式では数式を使用して書式設定するセルを決定ののころで
=CELL("addresss",$C$3)
と入力していますが、どのセルを選択しても色が変わらなくなってしまいました。
どこが間違っているのでしょうか。
よろしくお願いします。
No.1
- 回答日時:
アクティブセルじゃなくなったら、という条件で
色を設定すればよいです。
もしくは、アクティブセル以外のセル全部を
色付けする、という方法でもできます。
つまり、アクティブセルを選んだときに、
毎回シート全部を白紙化(いわゆるリセット)して、
そのあとアクティブセルには色付け、という
2段階設定にすれば、良いと思いますが。
ありがとうございます。
条件付き書式では文字がある場合に色付けするようにしています。
白紙化(いわゆるリセット)とは塗りつぶしなしのことでしょうか。
マクロの方で
Range("範囲").Interior.Color = xlNone
としているのですが、それでも条件付き書式の色が残ったままになってしまいます。
2段階設定とは条件付き書式の方でやるのでしょうか。
すみませんが教えてください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel 数式を使用した条件付き書式が、一つのセルにしか反映されない 3 2022/06/08 23:20
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:00
- Visual Basic(VBA) VBA初心者です。 VBAで行単位で条件付き書式の色をカウントしたいです。 大量のデータがあるExc 3 2022/06/08 10:02
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Visual Basic(VBA) VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカウントできる、VB 2 2022/04/06 21:33
- Excel(エクセル) エクセルの条件付き書式で*を使いたい 4 2022/05/13 16:49
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- Excel(エクセル) エクセルで条件付き書式を使わずにセルの文字の色を変える方法を教えて下さい 8 2023/07/28 01:15
- Excel(エクセル) 条件付き書式の色付きセルのカウント方法について 2 2022/10/21 14:51
- 会計ソフト・業務用ソフト エクセル 背景色のついたセル位置を参考にして固定の数値を取得する 4 2022/07/11 08:44
このQ&Aを見た人はこんなQ&Aも見ています
-
「それ、メッセージ花火でわざわざ伝えること?」
「それ、メッセージ花火でわざわざ伝えること?」というメッセージを教えて下さい
-
字面がカッコいい英単語
あなたが思う「字面がカッコいい英単語」を教えてください。
-
性格いい人が優勝
できるだけ性格いい人になって回答をお願いします。
-
チョコミントアイス
得意ですか?不得意ですか?できれば理由も教えてください。
-
カラオケの鉄板ソング
歌えばその場が絶対盛り上がる「鉄板ソング」を教えてください!
-
【VBA】アクティブセルだけ背景色を変えたい
Excel(エクセル)
-
アクティブセルのみ色をつけたい
Excel(エクセル)
-
Excel にて条件付き書式の色にさらに上塗りをしたいです。
Excel(エクセル)
-
-
4
エクセルVBAで、条件に一致するセルへ移動
Excel(エクセル)
-
5
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
6
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
7
エクセルファイルを開く時、常に同じシートから開くようにするには?
Windows Vista・XP
-
8
Excelの空文字セルの削除方法を教えてください
Excel(エクセル)
-
9
条件付き書式(色変更)は、予め色が入ってるセルを除外(飛ばす)するルール追加はありますか?
Excel(エクセル)
-
10
条件付き書式の色付きセルのカウント方法について
Excel(エクセル)
-
11
Outlookの「受信日時」「件名」「本文」などをVBAを使ってExcelに転記したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・昔のあなたへのアドバイス
- ・字面がカッコいい英単語
- ・許せない心理テスト
- ・歩いた自慢大会
- ・「I love you」 をかっこよく翻訳してみてください
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・はじめての旅行はどこに行きましたか?
- ・準・究極の選択
- ・この人頭いいなと思ったエピソード
- ・「それ、メッセージ花火でわざわざ伝えること?」
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・【お題】甲子園での思い出の残し方
- ・【お題】動物のキャッチフレーズ
- ・人生で一番思い出に残ってる靴
- ・これ何て呼びますか Part2
- ・スタッフと宿泊客が全員斜め上を行くホテルのレビュー
- ・あなたが好きな本屋さんを教えてください
- ・かっこよく答えてください!!
- ・一回も披露したことのない豆知識
- ・ショボ短歌会
- ・いちばん失敗した人決定戦
- ・性格悪い人が優勝
- ・最速怪談選手権
- ・限定しりとり
- ・性格いい人が優勝
- ・これ何て呼びますか
- ・チョコミントアイス
- ・単二電池
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・ゴリラ向け動画サイト「ウホウホ動画」にありがちなこと
- ・泣きながら食べたご飯の思い出
- ・一番好きなみそ汁の具材は?
- ・人生で一番お金がなかったとき
- ・カラオケの鉄板ソング
- ・自分用のお土産
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセルの書式設定の表示形式...
-
エクセル オートフィルタで絞...
-
excelの特定のセルの隣のセル指...
-
Excel 例A(1+9) のように番地の...
-
【Excel】 セルの色での判断は...
-
対象セル内(複数)が埋まった...
-
数式を残したまま、別のセルに...
-
複数のセルのいずれかに数字が...
-
Excelで、「特定のセル」に入力...
-
エクセルの一つのセルに複数の...
-
【エクセル】IF関数 Aまたは...
-
Excelで数式内の文字色を一部だ...
-
(Excel)数字記入セルの数値の後...
-
Excel2003 の『コメント』の編...
-
VBAでの結合セルのコピー&ペー...
-
Excelでのコメント表示位置
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
excelの特定のセルの隣のセル指...
-
【Excel】 セルの色での判断は...
-
枠に収まらない文字を非表示に...
-
(Excel)数字記入セルの数値の後...
-
EXCEL VBA セルに既に入...
-
【エクセル】IF関数 Aまたは...
-
Excelでのコメント表示位置
-
エクセルの一つのセルに複数の...
-
セルをクリック⇒そのセルに入力...
-
エクセル オートフィルタで絞...
-
エクセルの書式設定の表示形式...
-
対象セル内(複数)が埋まった...
-
数式を残したまま、別のセルに...
-
Excelで数式内の文字色を一部だ...
-
Excel 例A(1+9) のように番地の...
-
エクセルのセルの枠を超えて文...
-
Excelで、「特定のセル」に入力...
-
エクセル “13ヶ月”を“1年1ヶ月...
おすすめ情報