|
計算式 =B5*1+E5*0.5+H5*0.5+K5*1+N5*0.2+Q5*0.1+T5*0.5 が入っているセルがあります。
そのセルの値(計算結果)をVBAで取得して利用したいと思っています。
その計算もVBAで行えばこのようなことで悩む必要はないですが、その計算結果は値を入れただけで出てくる方がいいと思っているため、このような方法を探しています。
その計算結果をどのように利用したいかというのは、
とあるセルをその値で割ったその値によってセルの色を変えるということです。
このマクロはすでに自分で作ってあります。
--------------------------------------------------------------------------
Sub ランク表示()
On Error GoTo error_message
Dim CP As Integer
CP = Range("Z4").Value 'ここでEmpty値になってしまう
Dim r As Integer
r = 9
Do Until Cells(r, 1) = ""
If Cells(r, 1) / CP < 0.8 Then
Rows(r).Interior.ColorIndex = 5
ElseIf Cells(r, 1) / CP < 1 Then
Rows(r).Interior.ColorIndex = 8
ElseIf Cells(r, 1) / CP < 1.4 Then
Rows(r).Interior.ColorIndex = 4
ElseIf Cells(r, 1) / CP < 2 Then
Rows(r).Interior.ColorIndex = 6
ElseIf Cells(r, 1) / CP < 3 Then
Rows(r).Interior.ColorIndex = 46
Else
Rows(r).Interior.ColorIndex = 3
End If
Loop
error_message: 'そのため、Integerに代入することができずにここに来てしまう
MsgBox "数値が入力されていない項目があるようです。", vbOKOnly, "ランク表示"
End
End Sub
--------------------------------------------------------------------------
VBAで改めてその計算をさせるというのも考えましたが、せっかく計算結果が出ているのにもう一度計算させるのも・・・
それか、条件付き書式かなにかでそのマクロの代わりができるのであれば、そちらでもかまいません。
最初はその方法を考えていたのですが、とあるセルというのが200以上あり、1つ1つしかも複数の設定をするというのも大変で・・・
よろしくお願いします。
|
|