文字列をバイト数に変換して、設定数よりオーバーしたセルを赤文字にしたいと思い、下記のマクロを組みました。
しかし、VBAのLen関数は半角も2バイトで計算するとテキスト本に書いているのを読んだのですが、全角は2バイト、半角は1バイトで計算する方法はありますでしょうか?
どなたか教えていただけますと大変助かります。
OSはXP、Excelは2003 を使用しています。
Sub 文字数を調べて色を変える()
Dim mojicnt As Integer
Dim moji As String
Dim maxgyo As Long
Dim motogyo As Long
maxgyo = Cells(Rows.Count, 1).End(xlUp).Row
For motogyo = 2 To maxgyo
moji = Cells(motogyo, 2).Value
mojicnt = LenB(moji)
If mojicnt > 32 Then
Cells(motogyo, 2).Font.ColorIndex = 3
End If
Next motogyo
For motogyo = 2 To maxgyo
moji = Cells(motogyo, 4).Value
mojicnt = LenB(moji)
If mojicnt > 50 Then
Cells(motogyo, 4).Font.ColorIndex = 3
End If
Next motogyo
For motogyo = 2 To maxgyo
moji = Cells(motogyo, 5).Value
mojicnt = LenB(moji)
If mojicnt > 50 Then
Cells(motogyo, 5).Font.ColorIndex = 3
End If
Next motogyo
For motogyo = 2 To maxgyo
moji = Cells(motogyo, 8).Value
mojicnt = LenB(moji)
If mojicnt > 56 Then
Cells(motogyo, 8).Font.ColorIndex = 3
End If
Next motogyo
End Sub
説明不足のところがありましたら、申し訳ありません。
よろしくお願い致します。
お礼
返信いただきありがとうございます。 書いてくださったので、ちゃんと計算されました。 大変助かりました。 本当にありがとうございました。