VBAでExcelのセルの背景色を設定するにはどうすればよいですか?

VBAプログラムの一環として、あるセルの背景色を、その値に応じて緑、黄、赤に設定する必要があります(基本的に、緑は大丈夫、黄は境界線、赤は危険という健康モニターです)。

そのセルの値を設定する方法はわかったのですが、背景色を設定するにはどうすればいいのでしょうか。

ソリューション

どちらかを使用することができます。

ActiveCell.Interior.ColorIndex = 28

または

ActiveCell.Interior.Color = RGB(255,0,0)
解説 (2)

これは、マクロレコーダーを使うべき典型的な例です。レコーダーをオンにして、UIからセルの色を設定します。レコーダーを停止して、マクロを確認します。余計なコードが大量に生成されますが、あなたが達成しようとしていることに対して有効な構文も表示されます。不要なものを取り除き、残ったものを(必要であれば)修正します。

解説 (0)

あるいは、わざわざコーディングしなくても、Excelの「条件付き書式」機能を使えば、セルの値に基づいて背景色と文字色が設定されます。

ここでは2つの変数しかないので、デフォルトを黄色に設定し、値が閾値より大きいか小さいときに上書きします。

解説 (0)

Functionを使用する場合は機能しませんが、Subを使用する場合は機能します。 ただし、数式を使用してセルからサブを呼び出すことはできません。

解説 (0)