|
▼月の輪熊 さん:
>初めて質問させて頂きます。宜しくお願い致します。
>
>シートの中に入力されるデータで、全角文字と半角文字が混在するセルが
>あった場合、該当セルに色を付ける(もしくはフォントを変える)ような
>方法はないでしょうか?
>
>全角文字を半角文字に変える、セルに色を付ける、文字フォントを変える
>という単独機能を実現する方法は見つけたのですが、この組み合わせで
>実現させる方法が解らなくて困っています。
>
>どうか、宜しくお願いいたします。
こんな感じでどうでしょうか?
Sub TEST()
'For Each CEL In ActiveSheet.Cellsでも可能ですが、
'実用的ではない為各列の最終行迄処理をする様にしています。
'半角 or 全角 のみでないセルは黄色に塗られます。
With ActiveSheet
For I = 1 To 256
R = .Cells(65536, I).End(xlUp).Row
For J = 1 To R Step 1
If .Cells(J, I).Value <> "" Then
'対象セルの値
A = .Cells(J, I).Value
'対象セルの値を全て全角に変換した値
B = StrConv(.Cells(J, I).Value, vbWide)
'対象セルの値を全て半角に変換した値
C = StrConv(.Cells(J, I).Value, vbNarrow)
'Not (A = B Or A = C) ← A <> B And A <> C
'どちらかでも等しければ全て全角又は全て半角
If A <> B And A <> C Then
'セルを黄色く塗りつぶす処理
With .Cells(J, I).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
End If
Next
Next
End With
End Sub
|
|