プロが教えるわが家の防犯対策術!

条件付き書式でセルに色を付けたいのですが、
条件は、「半角文字を使用している事」です。
対象となる半角文字は、”英数カナ記号”です。

どのようにすればよいのでしょうか?

A 回答 (2件)

#01です。

補足に対する回答です
それはVBAでLenBを求めるときUnicodeでカウントするからです。
Unicodeでは半角文字が1バイトで表現されるわけではありませんので以下のような「システム既定の文字コードに変換する」処理を追加しないとなりません。

Sub Macro()
For Each rngCell In Selection
X = LenB(StrConv(StrConv(rngCell.Value, vbWide), vbFromUnicode))
Y = LenB(StrConv(rngCell.Value, vbFromUnicode))
If X - Y > 0 Then
rngCell.Interior.ColorIndex = 3
End If
Next rngCell
End Sub

ワークシート関数だと(今のところ)このような考慮は必要がありません
    • good
    • 0
この回答へのお礼

早速のご回答ありがとうございました。

目的の結果が得られました。

お礼日時:2007/04/16 16:46

条件付き書式の「数式」を


=(LENB(JIS(A1))-LENB(A1))>0
にしたらどうでしょうか。

JIS関数は半角文字を全角文字に変更する関数です。
この数式では「半角文字を使用しているセル」が色付きの対象になります。この条件ではNGでもっと細かな条件が必要なら補足してください。(ユーザ定義関数かマクロが必要になります)
    • good
    • 0
この回答へのお礼

ありがとうございます。

ご回答いただいたものを基に
目的の操作を下記のように記述してみたのですが、
うまくいきません。

どこが間違っているでしょうか?
*************************************************
For Each rngCell In Selection
X = LenB(StrConv(rngCell.Value, vbWide))
Y = LenB(rngCell.Value)
If X - Y > 0 Then
rngCell.Interior.ColorIndex = 3
End If
Next rngCell
*************************************************

お礼日時:2007/04/16 16:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています