プロが教えるわが家の防犯対策術!

Excelでの質問です。vista利用。

セルの色によって条件文(IF)をつけることはできますか?

やりたいのは、下図で説明しますと、
A1のセルに色付が入ったらB1とC1のセルを掛け算し、
D1のセルに表示。(Dセルにif文)
A2のように色無なら、Dは計算しない(表示しない)。



     A           B     C   D
1  色付セル        3     2   6
2  白セル(色無し)    5     4   
3  色付セル        2     6   12

A列には、別のデータシートからデータをコピーし貼り付けます。
全て数字が入っているのですが、数字は無視し、背景の色で判断します。

このようなことはできますでしょうか?
説明が下手で申し訳ないのですが、教えていただけると助かります。
よろしくお願いします。

A 回答 (5件)

No.4です!


たびたびお邪魔します。

No.3さんの回答を拝見して気になったので、再びお邪魔しました。

No.3さんが仰っているようにA列のセルの色が条件付書式によって付けられているのであれば
前回のコードでは全く反応しません。
コード内にその条件を組み込む必要があります。

もし条件付書式で色が付けられている場合、具体的な条件さえ判れば可能です。

前回のコードは単に手作業で色を付けた場合のみ有効です。

何度も失礼しました。m(_ _)m

この回答への補足

ro-maji de sumimasen.
goteinei ni arigatou gozaimasu. totemo ureshiidesu!!

PC furyou no tame,oshiete itadaita code wo tamesu koto ga mada dekite imasen...
moushiwake arimasen.

tonikaku oreidake saki ni otsutae shitaku te komento dake
kakasete itadakimashita.

arigatou gozaimasu.

補足日時:2011/07/07 21:18
    • good
    • 0
この回答へのお礼

大変遅くなってしまい申し訳ありません。

とても丁寧に教えていただき、なおかつ時間を割いて再度ご回答下さいまして
本当にありがとうございました。

教えていただいたコードで、質問時の場合にはちゃんと動作することができました!

ただ、少し位置が異なると途端にNG。。。(一応コードを修正してみたりしたのですが、、、)
もしお時間があれば、教えていただけたら幸いです。
ありがとうございました。

新たな質問URLです。
http://oshiete1.watch.impress.co.jp/qa6898821.html

お礼日時:2011/07/25 18:09

こんにちは!


横からお邪魔します。
VBAの一例です。
A列には必ずデータが入っていて、1行目からあるとします。

尚、A列の色は何色でも関係なく、色がついていればD列に掛け算を表示するようにしてみました。

画面左下にある操作したいSheet見出し上で右クリック → コードの表示 → VBE画面が出ますので
↓のコードをコピー&ペーストしてマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub test() 'この行から
Dim i As Long
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(i, 1).Interior.ColorIndex <> xlNone Then
Cells(i, 4) = Cells(i, 2) * Cells(i, 3)
End If
Next i
End Sub 'この行まで

こんな感じではどうでしょうか?

尚、A列の色の限定があるのであれば当然コードは少し変わってきます。

参考になれば良いのですが・・・m(__)m

この回答への補足

ありがとうございます!!
非常に助かります!
が、今、データのあるPCとは別の場所に来てしまった為、明日、確認させていただきます!
VBAコードまで丁寧に記載していただき、大変感謝です。(全く理解できないレベルですが)
コピペでできることを祈るのみです。

取り急ぎお礼まで。

補足日時:2011/07/05 18:34
    • good
    • 0
この回答へのお礼

大変遅くなってしまい申し訳ありません。

とても丁寧に教えていただき、本当にありがとうございました。

教えていただいたコードで、質問時の場合にはちゃんと動作することができました!

ただ、少し位置が異なると途端にNG。。。(一応コードを修正してみたりしたのですが、、、)
もしお時間があれば、教えていただけたら幸いです。
ありがとうございました。

新たな質問URLです。
http://oshiete1.watch.impress.co.jp/qa6898821.html

お礼日時:2011/07/25 18:10

セルの色を判断できる関数はありません。

マクロを使うことになるでしょう。それ以外にどうしてもということでしたらA列で色つきセルとした条件(条件付き書式)があると思いますのでその条件を使って式を組み立てることですね。

この回答への補足

回答ありがとうございます。
マクロだとどういったマクロになりますか?マクロで色判断ができる方法がわかりません。。。
すいません、教えていただけますか?

補足日時:2011/07/05 16:56
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
質問の締めが遅くなってしまい申し訳ありませんでした。

お礼日時:2011/07/25 18:11

こちらの「セルの色を別のセルに表示させるユーザー定義関数」を使って、A列のセル色を表示させた別のセルの文字をIF文に組み込めばできると思います。


http://www.relief.jp/itnote/archives/001873.php

もしくは下記の質問回答にあるようにVBAで組むかでしょうか。
http://detail.chiebukuro.yahoo.co.jp/qa/question …

ご回答になっていればいいのですが。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
質問の締めが遅くなってしまい申し訳ありませんでした。

お礼日時:2011/07/25 18:12

VBAならば可能だとは思いますが、式では無理じゃないかな。



式でやるのであれば、キーとなる値で判定させる方が現実的かと。

if(A1<>"";B1*C1;"")

みたいな感じで。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A