
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で質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
【EXCEL】【VBA】空欄は飛ばして処理する方法を教えて下さい。
Excel(エクセル)
-
エクセル イベントマクロ Changeイベントを複数作りたい
Access(アクセス)
-
エクセルのラベルの値(文字列)を垂直方向で中央揃えにするには?
Excel(エクセル)
-
-
4
「Columns(A:C")」の列文字を数字にして表記したい"
Excel(エクセル)
-
5
セルの値が空白じゃないなら色を付ける
Excel(エクセル)
-
6
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
7
エクセルマクロでシート内にある画像のみを選択する
Excel(エクセル)
-
8
VBA(エクセル)で自動的にボタンをクリックさせるには
その他(プログラミング・Web制作)
-
9
Excelの条件付き書式にて空白セルを除外するには?
Excel(エクセル)
-
10
Application.ScreenUpdating = Falseが効きません
Visual Basic(VBA)
-
11
VBAで特定の文字が入力されたセルを選択
Excel(エクセル)
-
12
複数の条件に合う行番号を取得するには
その他(Microsoft Office)
-
13
Excel VBA 空白行があるセル範囲に色を付ける
Excel(エクセル)
-
14
VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます
Visual Basic(VBA)
-
15
EXCELで条件付き書式で空白セルの時は塗りつぶし無しにする方法
Excel(エクセル)
-
16
EXCEL ページを指定してPDF出力するVBAを教えてください。
PDF
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 条件付き書式で空欄は適用...
-
【VBA】計算結果に小数点第2位...
-
クリスタルレポートの改ページ...
-
jpgraph が表示されない
-
Apache起動エラー
-
ethtoolでリンク速度変更できない
-
Cisco 製品の電源ケーブル抜け...
-
WindowsServer2008でタスク実行
-
不明配線の捜索ツール
-
スリープ状態とロック状態の違...
-
LANケーブルのつなぎ方
-
「NetBIOS over TCP/IP」と「MA...
-
点検で全館停電。ネットワーク...
-
USB延長ケーブル(二股)
-
Parallels Desktopでどうしても...
-
パソコンの立ち上げた履歴を調...
-
ハブを経由すると通信できない
-
ログアウト状態でのアプリケー...
-
タスクスケジューラの複数タス...
-
Mac スリープしない。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MsgBoxの中にある数字や日付の...
-
【VBA】計算結果に小数点第2位...
-
クリスタルレポートの改ページ...
-
マイナス記号を▲で表す方法
-
VBA 条件付き書式で空欄は適用...
-
時間表示で0:48:17と入力すると...
-
VBでエクセル出力の文字を太字...
-
grep で複数条件を指定
-
Excel VBA セル塗りつぶし
-
MSAccessでODBCを介してDB接続...
-
spread6.0(セル連結)
-
PHP文字コードの不思議!?
-
VBA コンボボックスの表示(日...
-
ACCESSでエクセルの書式設定
-
VBAの繰り返し処理について教え...
-
$_SERVER["PHP_SELF"]などでURL...
-
エクセルのメモについて教えて...
-
Amazon Webサービスのリクエス...
-
チェックボックスのある行を非...
-
AccessのVBAで、パラメータを使...
おすすめ情報