質問

2016年10月11日 17時22分
  • VBAで行をグレーアウトしたいです。

情シスのオープンナレッジ『Syszo』サービス終了のお知らせ

質問

エクセルVBA初心者です。
マクロの中に、
表の中で「完了」の文字があったら、そのセルが存在する行をグレーアウトする。
という処理を入れたいのですが、どう書けばいいでしょうか。
調べてもよくわからなかったもので…

2件の回答があります

回答

自分だったらVBAで記述するのではなくて、「条件付き書式」で色を変えるようにします。

http://www.becoolusers.com/excel/conditional-formatting.html

2016年10月11日 17時50分

回答

完了を含むセルの背景色をグレーにするだけだったら、wizeさんの仰る通り条件付き書式でやるのがスマートだとおもいます。

自力で頑張るのであれば、sysjojoの仰る通りマクロの記録を利用すると良いと思います。
コツとしては、マクロの記録は冗長なコードになるので、
必要な部分のみ流用する方法が良いです。

ポイントだけ解説すると、
vbaの一連の処理の中で行うのであれば、以下のコードが参考になるかと思います。
[対象範囲のRange型オブジェクト].Interior.Color = [背景色の定数 or 定数を返す関数]
例)A1セルをグレーにする
Range("A1").Interior.Color = RGB(100, 100, 100)
Cells(1,1).Interior.Color = RGB(100, 100, 100)

ループで回して、”完了”にHitしたセルをふくむ列を選択する方法であれば以下を参考にしてください。
[シート].Rows([セル].Row).Interior.Color = RGB(100, 100, 100)

2016年10月12日 02時16分
LSD

あなたもコメントしましょう!