• ベストアンサー

Excelで条件にあったセルを検索して、行全体に色をつける方法

こんにちは 初歩的な質問で大変恐縮なのですが、助けていただけませんでしょうか。 エクセルのシート上のG列4~120行に入っている数値を検索して、その値が条件を満たす場合にその行全体に色をつけたいと思い、以下のようなコードを書いてみたのですが、「型が一致しません」というエラーがでてしまいます。(色は一応つくのですが・・・) Sub TestMacro()  Dim i As Integer   For i = 4 To 120   If Sheets("aaa").Cells(i, "G").Value < 365 Then    Sheets("aaa").Rows(i).Select   Selection.Interior.ColorIndex = 7  End If Next i End Sub この原因は何なのでしょうか?教えてください。 宜しくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

Sheets("aaa").Cells(i, "G").Value の値で数値でないモノが含まれているのではないでしょうか

mamakki
質問者

お礼

BLUEPIXYさん まさに「#VALUE!」が入っているセルがありました・・・。 とりあえずISERRORでエラー表示を出ないようにして 解決しました。 どうもありがとうございました!!

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

本当に >にその行{全体」!!に色をつけたいと 言うなら(私は個人的に、しつこいと思いますが) シート名をSheet1に変えてます。 EntireRow.の問題と思います。 Sub TestMacro() Dim i As Integer For i = 4 To 120 If Sheets("Sheet1").Cells(i, "G").Value < 365 And Cells(i, "G") <> "" Then Sheets("Sheet1").Rows(i).EntireRow.Interior.ColorIndex = 7 End If Next i End Sub でうまくいきました。 VBAでなくても、条件付書式でもできる要求ですね。

mamakki
質問者

お礼

ありがとうございます。 条件付書式だと行数が多くて可変の可能性があったので、マクロで実行したいと思っていました。 ご丁寧にありがとうございました。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

mamakkiさん、こんにちは。 それは、G列の該当部分に、エラー値が入っていると思いますね。他は、今は思いつきません。 Not IsError(....) や、VarType(....) = vbDouble などで、条件排除をしてみたらいかがですか?

mamakki
質問者

お礼

まさにその通りでした。 お恥ずかしい限りです。 マクロでの条件排除も試して見ます。 ありがとうございました。

関連するQ&A

専門家に質問してみよう