ページ 11

VBA【color】

Posted: 2014年6月07日(土) 19:30
by イプシロン
保険料の妥当性(保険会社が儲かっているかどうか)を判断するプログラムを組んでいます。
以下は、プログラムの最後に来る、「黒字・赤字を判断するfor文」です。

For k = 0 To n - 1
.Cells(124 + k, 20) = .Cells(124 + k, 17) - .Cells(124 + k, 8)
Next k

これについて、見やすくするために

.Cells(124 + k, 20)<0なら、そのセルの値を赤で、
.Cells(124 + k, 20)≧0なら、黒のままで

表記したいです。

調べたのですが、やり方がよく分かりません。教えてください。

Re: VBA【color】

Posted: 2014年6月07日(土) 19:39
by みけCAT
VBAってExcelのマクロですか?
そう仮定すると、これでできませんか?
セルに背景色を付ける - Interior.ColorIndex Interior.Color - Excel VBA Tips
【訂正】文字の色を変えるなら、こっちですね。
6.3 文字の装飾に関する書式設定 - Excel VBA Tips

Re: VBA【color】

Posted: 2014年6月07日(土) 19:46
by イプシロン
みけCATさん

はい、Excelマクロです。文字を装飾する方法はわかりましたが、「もし~ならば」の部分はどう表現すれば良いでしょうか?

Re: VBA【color】

Posted: 2014年6月07日(土) 19:53
by みけCAT
If文を使ってください。
Excel VBA 入門講座 If ~ ElseIf

Re: VBA【color】

Posted: 2014年6月08日(日) 01:08
by YuO
これってワークシートで条件付き書式を設定してはいけないのでしょうか。
目的に依りますが,色をつける (=View要素) にVBAを使う必要が無いと感じてしまったので。

条件付き書式がどのバージョンから使えるかは覚えていませんが,少なくとも,現在使われているであろうExcel 2007以降ならサポートしているはずです。
# レガシー (Excel 2003等のMSサポート切れの製品) で使えるかどうかはわかりませんが。

Re: VBA【color】

Posted: 2014年6月08日(日) 09:35
by みけCAT
YuO さんが書きました:これってワークシートで条件付き書式を設定してはいけないのでしょうか。
目的に依りますが,色をつける (=View要素) にVBAを使う必要が無いと感じてしまったので。
それを言ってしまうと、最初の引き算もVBAを使う必要は無いと思います。

【追記】「プログラムの最後」ということは、きっとその前に複雑な計算をしているのでしょう。

Re: VBA【color】

Posted: 2014年6月09日(月) 00:00
by イプシロン
if文とColorIndex で、達成できました。ありがとうございました。