2017-10-30 4 views
0

次のコードは1つの問題を除いて動作します。 これは、列Hの値を認識し、その行の列Hに40以上の数を含まない行を強調表示します。 しかし、以下のコードでは、最初の桁が4または偉大であることを実際に探しています。列Hの最初の桁に数字1,2またはで始まる行が強調表示されています。したがって、行H値は100です。.Valueの最初の桁を認識するコード

Sub color40() 

Sheets("40+").Select 

Lastrow = Cells(Rows.Count, 1).End(xlUp).Row 
For i = 2 To Lastrow 
If Worksheets("40+").Cells(i, 8).Value < "40" Then 
    Range(Cells(i, 2), Cells(i, 8)).Interior.color = RGB(160, 140, 150) 

End If 
Next i 

End Sub 
+1

申し訳ありませんが、あなたの質問は何ですか?お読みください> [How to Ask](https://stackoverflow.com/help/how-to-ask) –

答えて

1

「40」はテキスト、40は数字です。数値を引用符で囲むと、数値は通常は評価されず、文字列として評価されます。あなただけの1桁を評価する場合は、LEFT機能を使用してそれを行うことができます

Sub color40() 

Sheets("40+").Select 

Lastrow = Cells(Rows.Count, 1).End(xlUp).Row 
For i = 2 To Lastrow 
If Cells(i, 8).Value < 40 Then 
    Range(Cells(i, 2), Cells(i, 8)).Interior.color = RGB(160, 140, 150) 

End If 
Next i 

End Sub 
0

:これを試してみてください。

構文:

LEFT(text, [number_of_characters]) 

例:

If LEFT(Worksheets("40+").Cells(i, 8).Value, 1) < 4 Then 
    Range(Cells(i, 2), Cells(i, 8)).Interior.color = RGB(160, 140, 150) 
End If 

はあなたが評価する必要が値を変更することを忘れないでください。

関連する問題