Excel2002又は2003のVBAにおいて条件付き書式をマクロを組んで設定しているのですが、
設定1:5以下の場合、青
設定2:-10以下の場合、赤
のように設定したのですが、空欄(未入力状態のセル)も青くなってしまいます。
空欄になっているセルに半角スペース等を入れれば色は付かなくなることを確認はしたのですが、条件付書式にさらに条件を追加する等で、この現象を回避する方法はないでしょうか?
なお、マクロで条件付書式の設定してあるセルを選択し、条件付書式を一括で書き換えています(色の設定や範囲指定を別設定で変えられるように)。
そのため、条件付き書式でエクセル上の操作で行う設定ではなくマクロで選択したセルに書式の設定を行うようにしたいのですが・・・
※書き込むカテゴリに少し迷ったのですが、こちらで質問させていただきます。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
NO1です
ここは素直に第3の条件を入れましょう。
-10以下、0、5より小さいの順で分けます。条件3(FormatConditions(3))にxlNoneを入れると勝手に3つ条件が2つに変更されるようです。ですので1番目か2番目に入れます。
With Cells
.FormatConditions.Delete
.FormatConditions.Add Type:=xlCellValue, Operator:=xlLessEqual, Formula1:="-10"
.FormatConditions(1).Interior.ColorIndex = 3
.FormatConditions.Add Type:=xlCellValue, Operator:=xlEqual, Formula1:="0"
.FormatConditions(2).Interior.Pattern = xlNone
.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, Formula1:="5"
.FormatConditions(3).Interior.ColorIndex = 5
End With
>Range(Cells(1, 1), Cells(65535, 255)).SpecialCells(xlCellTypeAllFormatConditions).Select
ですと、更のシート(条件を設定していない)ではエラーになると思います。
はじめは不用意にIFでと述べましたが、考えてみるとこちらの方が早いとおもいます。失礼しました。
この回答への補足
回答、ありがとうございます
サラのシートの場合を全く考えてなかったのには気づきませんでした。ありがとうございます!
マクロの記録から作るとこういうポカをよくやってしまう・・・
まだ組み込んで確認をしてませんので、締め切りませんがほんとに助かりました。のちのち謎のエラーで苦しめられるところだった(--;
別件でものすごく忙しくなり、この件は手放してしまうことになりそうですが、条件付き書式が一件もない場合エラーになる等、とても参考になりました。ありがとうございました。
No.1
- 回答日時:
おはようございます
IF 値>-10 AND 値<=5 AND 値<>0 THEN
青
IF 値<=-10 THEN
赤
ではないでしょうか。
この回答への補足
朝早くから回答ありがとうございます!
回答いただいた方法だと0が青くならないのかな?と。
なお質問に入れ忘れていましたマクロのソースを補足として追加します。SpecialCellsで条件付書式を選択肢、条件を再設定しています。
また、セルの値を比較する場合の自セル値の参照(自セルの相対参照を設定する必要がある?)の設定の仕方がよくわからないのですが、SpecialCellsを使っているとうまく設定できなかったりするんでしょうか?
' 条件付書式の設定されているセルを選択
Range(Cells(1, 1), Cells(65535, 255)).SpecialCells(xlCellTypeAllFormatConditions).Select
' 条件付書式を削除
Selection.FormatConditions.Delete
' 5未満
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLess, Formula1:=5(実際は変数名)
'セル背景色
Selection.FormatConditions(1).Interior.ColorIndex = 青(実際は変数名)
' -10以下
Selection.FormatConditions.Add Type:=xlCellValue, Operator:=xlLessEqual, Formula1:=-10(実際は変数名)
'セル背景色
Selection.FormatConditions(2).Interior.ColorIndex = 赤(実際は変数名)
※なお、質問しておいて申し訳ないのですが、もうすぐ出かけるので補足等を求められた場合、返事が遅れるかもしれません。ご容赦ください
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで条件付き書式を使わずにセルの文字の色を変える方法を教えて下さい 8 2023/07/28 01:15
- Visual Basic(VBA) vbaで条件付き書式を設定したときの適用範囲について 1 2023/07/17 23:14
- Excel(エクセル) Excel 数式を使用した条件付き書式が、一つのセルにしか反映されない 3 2022/06/08 23:20
- Excel(エクセル) Excel アクティブセルのみ条件付き書式の色を他の色にしたい。 4 2022/06/11 22:19
- Visual Basic(VBA) VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカウントできる、VB 2 2022/04/06 21:33
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- その他(Microsoft Office) googleスプレットシートで左右の数値を比較して色判別させたい 2 2022/06/06 18:33
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
- Excel(エクセル) 【!】Excel 2つの条件付き書式が反映されません。。 5 2023/07/14 16:47
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
エクセルVBAで5行目からオートフィルタモードに設定したいたい
Excel(エクセル)
-
セルの値が空白じゃないなら色を付ける
Excel(エクセル)
-
条件付き書式の空白の場合、空白でない場合について
Excel(エクセル)
-
-
4
VBAのコマンドボタンの文字列の改行方法は?
Visual Basic(VBA)
-
5
VBAでダブルコーテーション入りの数式をセルにセットしたい
Visual Basic(VBA)
-
6
Excelで一行おきに2行の空白行を挿入したい
その他(Microsoft Office)
-
7
Excelの条件付き書式にて空白セルを除外するには?
Excel(エクセル)
-
8
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
9
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
10
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
11
数式の結果が空白の時の空白扱い
Excel(エクセル)
-
12
特定の色のついたセルを削除
Visual Basic(VBA)
-
13
VBAで特定の文字を探して隣のセルに色を付けたい
Excel(エクセル)
-
14
EXCELで条件付き書式で空白セルの時は塗りつぶし無しにする方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【VBA】計算結果に小数点第2位...
-
クリスタルレポートの改ページ...
-
時間表示で0:48:17と入力すると...
-
POIを使った書式設定
-
C#にて、他言語にローカライズ...
-
MsgBoxの中にある数字や日付の...
-
VBA 条件付き書式で空欄は適用...
-
マイナス記号を▲で表す方法
-
スリープ状態とロック状態の違...
-
Apache起動エラー
-
IISが落ちた場合の動きについて
-
スイッチングハブのIPアドレス
-
chromeがインストールできない
-
ログアウト状態でのアプリケー...
-
ネットワークトラブル監視ソフ...
-
iosでpcのエロゲーを動かすアプ...
-
ethtoolでリンク速度変更できない
-
起動しているアプリケーション...
-
ダウンロードが出来ない・・・
-
広辞苑第五版CD-ROM版のインス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【VBA】計算結果に小数点第2位...
-
MsgBoxの中にある数字や日付の...
-
VBA 条件付き書式で空欄は適用...
-
チェックボックスのある行を非...
-
POIを使った書式設定
-
クリスタルレポートの改ページ...
-
VBでエクセル出力の文字を太字...
-
マイナス記号を▲で表す方法
-
C#にて、他言語にローカライズ...
-
spread6.0(セル連結)
-
VBA コンボボックスの表示(日...
-
AccessのVBAで、パラメータを使...
-
VBAの繰り返し処理について教え...
-
FORMAT関数で値が変わる
-
エクセルのメモについて教えて...
-
携帯サイトのPHPで<div style>...
-
時間表示で0:48:17と入力すると...
-
EXCEL2010でRGB指定できない
-
SQL文 Where句の複数検索
-
Excel VBA マクロについて
おすすめ情報