[[20190807195858]] 『特定の値の入った行にマクロで色を付けたい』(nami) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『特定の値の入った行にマクロで色を付けたい』(nami)

マクロ初心者ですが失礼します。
多人数が扱う上にデータ量も多いファイルのため、
重くなってしまう条件付き書式ではなくマクロを使いたいと考えています。

  A  B  C
1 0  あ え
2 0  い お
3 1  う か

このような表で、A列の値が0の場合
A列を除く行B1〜C2に色が付くようにしたいです。

そういったマクロについて検索したのですが、
どうにもうまくいきませんでした…。
何卒教えて頂けましたら幸いです。
宜しくお願いいたします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


>重くなってしまう条件付き書式

そんなに重いでしょうか?
実際に試してみたうえでのことですか。

(マナ) 2019/08/07(水) 20:34


はい、試してみたうえです。
多人数が入力やコピペをするので、
条件付き書式が分裂?してしまうようです。
フィルター1つ使うにも数分かかってしまう有様でした。
(nami) 2019/08/07(水) 20:42

 データが多いなら1行目に項目行を用意してA列でAutofilter+B:C列を色付けとか?
(seiya) 2019/08/07(水) 20:46

行の入れ替えや削除等で条件付き書式が増殖するのは、私の場合、シートを最新に更新するマクロ処理のついでに、条件付き書式を消して、現状の有効行に対して条件付き書式を掛け直す処理を行って対応していますね。(どんな命令を使えば良いかは、マクロの記録で判ります)

セルの着色は、条件付き書式が一番ではないかと思います。 値を入力した瞬間に反応してくれますからね。 手塗りと共存もできるし。
(???) 2019/08/08(木) 09:36


 セルを着色するのではなく条件付き書式を一旦削除して
 再度設定するコードです

 既存の条件付き書式はいったんすべて削除されますのでシートをコピーするなどして試してみてください

 Sub Macro1()
     Cells.FormatConditions.Delete
     With Range("B1:C1")
         .FormatConditions.Add Type:=xlExpression, Formula1:="=$A1=0"
         With .FormatConditions(1).Interior
             .PatternColorIndex = xlAutomatic
             .Color = 255
             .TintAndShade = 0
         End With
         .Copy
    End With
    Range("B2:C2").PasteSpecial Paste:=xlPasteFormats
    Application.CutCopyMode = False
 End Sub

(渡辺ひかる) 2019/08/08(木) 10:56


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.