« PCサーバ障害と復旧 | メイン | JCountのWindows Vista対応について »

ExcelのVBAで英数文字を色づけ

Wordでは特定の種類の文字をハイライトできるが
Excelは2002以降でもセル単位でしか色づけの置換ができない。
今回は文字単位で英数文字とハイフンを全角/半角、大文字/小文字の区別無く
色づけする必要があったので以下の様なコードを書いた。

Option Explicit
Option Compare Text
Sub ColorFind()
  Dim ws As Worksheet
  Dim r As Range
    
  For Each ws In ActiveWorkbook.Worksheets
    For Each r In ws.UsedRange
      Dim i As Integer
      For i = 1 To Len(r.Value)
        If Mid(r.Value, i, 1) Like "[0-9a-z-]" Then r.Characters(i, 1).Font.ColorIndex = 3 'Red
      Next
    Next
  Next
End Sub

トラックバック

このエントリーのトラックバックURL:
http://bgworks.info/mt/mt-tb.cgi/36

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2007年11月20日 21:05に投稿されたエントリーのページです。

ひとつ前の投稿は「PCサーバ障害と復旧」です。

次の投稿は「JCountのWindows Vista対応について」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。