質問: C列に入力されている半角の数字とハイフンが、10桁以外だった場合、セルに色付けがしたいのですが、この命令文だときちんと10桁になっているはずのC6のセルだけが赤く色付けされてしまいます。
回答: そもそもこのコードはエラーで動かないでしょう。 以下はダメ For Each C In Range("C6",Cells(Rows.Cfunt,1).End(xlUp)) C列全部なら For Each C In Range("C:C") C6からC列の最終入力行なら For Each C In Range("C6:C" & Cells(Rows.Count, 3).End(xlUp).Row) それと Activecell.Interior.Color = vbRed は C.Interior.Color = vbRed さらに If Len(C.Value) <> 10 Then では、 未入力セルも赤くなります。 そう言う仕様ならこれでも良いですが、そうでないなら If Len(C.Value) <> 10 And IsEmpty(C) = False Then まとめると Dim C For Each C In Range("C6:C" & Cells(Rows.Count, 3).End(xlUp).Row) If Len(C.Value) <> 10 And IsEmpty(C) = False Then C.Interior.Color = vbRed End If Next