スポンサーサイト

一定期間更新がないため広告を表示しています

Excel VBA セル参照 LEN関数で1となる

ExcelVBAで文字数により、〇列〜〇列の文字の色を変える

VBAを作成していた。

セル参照した結果、文字なしでLEN関数により「0」となるはず

だった。しかし、「1」が戻り値となった。

セル参照で見た目は空白だが?

どうしたものか、考えた。

Fomat関数と組み合わせてみた。(EXCELではTEXT関数)

LEN(FOMAT(セル番地,"####"))

結果、「0」が戻り値となった。

注意)表示形式を”#,###"とすると、カンマもカウントする!

Sub iro()
Dim longlen As Long
Dim MaxRow As Long
Dim i As Long, coli As Long, tasu As Long

MaxRow = Range("AF65536").End(xlUp).Row
tasu = 0
For coli = 32 To 34

For i = 2 To MaxRow
longlen = Len(Format(Cells(i, coli), "####"))
Select Case longlen
Case 1
Cells(i, 12 + tasu).Font.ColorIndex = 1 'フォントカラー黒
Case 2
Range(Cells(i, 11 + tasu), Cells(i, 12 + tasu)).Font.ColorIndex = 1
Case 3
Range(Cells(i, 10 + tasu), Cells(i, 12 + tasu)).Font.ColorIndex = 1
Case 4
Range(Cells(i, 9 + tasu), Cells(i, 12 + tasu)).Font.ColorIndex = 1
Case 5
Range(Cells(i, 8 + tasu), Cells(i, 12 + tasu)).Font.ColorIndex = 1
Case 6
Range(Cells(i, 7 + tasu), Cells(i, 12 + tasu)).Font.ColorIndex = 1
Case 7
Range(Cells(i, 6 + tasu), Cells(i, 12 + tasu)).Font.ColorIndex = 1
Case Else
Range(Cells(i, 5 + tasu), Cells(i, 12 + tasu)).Font.ColorIndex = 2
End Select
Next i
tasu = tasu + 9
Next coli
End Sub

スポンサーサイト

Comments

Leave a Reply