[[20080228231056]] 『隣のセルが空白ならばそのセルに色を付けたいんで』(POPI) ページの最後に飛ぶ

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

 

『隣のセルが空白ならばそのセルに色を付けたいんですけど』(POPI)
 A列とB列にそれぞれデータが登録されていますが、条件としてA列にデータ登録があ
 りB列が空白のセルである場合、 そのB列の空白セルを黄色にしたいのです。
 データが登録される行数に毎日変動があるので、B列に条件付書式で空白を黄色にする
 で設定すると簡単なんですが、条件付書式の行数を指定しなければいけないVBAにす
 ると、A列にデータが無くても色が付いてしまうので、ちょっとカッコ悪くなっちゃい
 ます。スッキリさせるための方法を教えていただけませんか、お願いします。


 B列の条件付書式を
 「A列が空欄でない 且つ B列が空欄である」
 と言う条件にするのでは駄目なのですかね?
  [ 数式が ▼] [ =(A1<>"")*(B1="")   ]

 (HANA)

 (HANA)さん、いろいろとありがとうございます。
 望みどおりのマクロが出来ました。
 本当に感謝です。
 できれば今後のために、ちょっと解説していただければありがたいのですが、でも、も
 う夜も遅いですし・・・
 ちなみに、=(A1<>"")*(B1="") の<>の意味だけでも教えてもらいたいんですけど?

(POPI)


 A1>1 A1が1より大きい
 A1<1 A1が1より小さい
 A1<>1 A1が1以外
 
""は未入力・または文字列長0の空白文字列ですから、
「A1<>""」は「A1が空白以外」=「A列に(空白文字列以外の)データ登録があり」
 
(みやほりん)(-_∂)b @早起き

夜分遅くに、ありがとうございました。
(POPI)

 みやほりんさん、解説有り難う御座いました。

 ちなみに、エクセルヘルプには以下の様に書いてあります。

 比較演算子
  次に挙げる比較演算子は、2 つの値を比較し、
  結果として TRUE または FALSE の論理値を返します。
 
 比較演算子	内容 (使用例)
 = (等号)  	左辺と右辺が等しい (A1=B1)
 > (〜より大きい)	左辺が右辺よりも大きい (A1>B1)
 < (〜より小さい)	左辺が右辺よりも小さい (A1<B1)
 >= (〜以上)	左辺が右辺以上である (A1>=B1)
 <= (〜以下)	左辺が右辺以下である (A1<=B1)
 <> (不等号)	左辺と右辺が等しくない (A1<>B1)

 また、返された論理値を四則演算すると
 TRUE = 1 , FALSE = 0
 として扱われます。

 今回は(A1<>"")の結果と(B1="")の結果を掛け算しているので
 一つでもFALSEが含まれていた場合、結果は「0」になり
 両方がTRUEの場合にのみ「1」になります。
	TRUE  * TRUE  = 1 * 1 = 1
	TRUE  * FALSE = 1 * 0 = 0
	FALSE * TRUE  = 0 * 1 = 0
	FALSE * FALSE = 0 * 0 = 0

 条件付書式の設定では、
「条件が真のときに使用する書式」を設定しますが
 条件に数式を使用した場合、
 結果がTRUE又は、0以外の数値の時に、書式が適用されます。

 「且つ」を表すのに今回は「*」を使用しましたが
 AND関数を使用して「=AND(A1<>"",B1="")」の様にしても
 同じ結果になると思います。
 AND関数を使用するので、数式の結果は「TRUE」or「FALSE」になりますが。

 これらの式を直接セルに入力して、結果を確認してみても良いかもしれません。

 (HANA) 

 (HANA)さん、ありがとうございます。
 ヘルプを参照する時もあるんですが、なんか表現が難しくて・・・
 今後とも、よろしくお願いします。
 (POPI)


コメント返信:

[ 一覧(最新更新順) ]


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