• ベストアンサー

Excel 条件付き書式:条件を半角文字にしたい

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

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.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 ワークシート関数だと(今のところ)このような考慮は必要がありません

PearlJam69
質問者

お礼

早速のご回答ありがとうございました。 目的の結果が得られました。

その他の回答 (1)

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

条件付き書式の「数式」を =(LENB(JIS(A1))-LENB(A1))>0 にしたらどうでしょうか。 JIS関数は半角文字を全角文字に変更する関数です。 この数式では「半角文字を使用しているセル」が色付きの対象になります。この条件ではNGでもっと細かな条件が必要なら補足してください。(ユーザ定義関数かマクロが必要になります)

PearlJam69
質問者

お礼

ありがとうございます。 ご回答いただいたものを基に 目的の操作を下記のように記述してみたのですが、 うまくいきません。 どこが間違っているでしょうか? ************************************************* 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 *************************************************

関連するQ&A

  • エクセル上で英数のみを半角するにはどうしたらいいでしょうか?

    エクセル上で、英数のみを全角から半角にするソフトはあるでしょうか? 英数・カナ・記号・スペースまで一括に半角にするものや、英数でも日本文の中の英数1文字は半角にしないものなどは見つけることができたのですが、英数だけをすべて半角にするものは見つけられません。 何かいいものがありましたら教えてください。

  • エクセルの条件付き書式

    条件付き書式について、指定したセルに入力(数字や文字を問わず)すると、セルの色が変わるよう設定したいのです。 ただ、数字の表示を3桁表示する必要があり、どうしても1~99までの番号には頭に「0」をつける必要があるため、条件付き書式を設定する前に、あらかじめ対象のセルには、セルの書式設定で表示形式を文字列に設定しています。 その設定をすることにより、条件付き書式が実行されません。 ですので、 (1)セルに001~099と表示されるよう入力するとセルの色が変わるやり方 と、 (2)数字ではなく文字を入力したときもセルの色が変わる設定方法 を、ご存知であれば教えてください。 エクセルの知識は「初心者~普通」程度です。 表計算などは出来ますが、関数やマクロはかじってる程度です。 簡単な回答をしていただけるとありがたいです。 よろしくお願いします。

  • エクセル 条件付き書式

    こんにちは。エクセルの条件付き書式を使って特定の文字を含む文字列に色を付けて表示したいのですが、うまくいきません。例えばDATA1,DATA2,DATA3...と入力して、条件を値=DATA*としてみたのですが、色が付きません。試しにセルにDATA*と入力してみたところ、色が付きました。これは*がワイルドカードとしてではなく、記号として認識されてしまっているということですか?どうすればDATAを含む全ての文字列に色を付けることができますでしょうか?よろしくお願いします。

  • 条件付書式について

    条件付書式で、空白のセルには無色を、文字・記号が入っているセルには色を付けることができました。その後、空白のセルに文字を入れたら、セルに色がついてしますのですが、色が付かないようにするにはどうしたら良いのでしょうか?ちなみに、最初の段階で色のついたセルは色がついたままにしておきたいのです。宜しく御願いします。

  • Excelの条件付き書式について

    Excelの条件付書式について教えてください。 次のようなことをしたいです。 (1)10個のセルに次のような条件付書式を設定します。  ・条件1:セルの値が5以上だったらセルの塗りつぶし(パターン)を青色にする。  ・条件2:セルの値が5未満だったらセルの塗りつぶし(パターン)を赤色にする。 (2)別の1つのセルで上の10個のセルを監視して  すべてのセルが青色だったら"PASS"と表示する。  ひとつでも赤色のセルがあったら"FAIL"と表示する。 VBAを使用して、条件付書式が設定されたセルを参照し、 どちらの条件付書式が適用されているのか調べられるのなら、 それでもかまいません。 条件付書式でセルの色(パターン)を設定した場合、 セルの.Interior.ColorIndex 及び PatternColorを参照しても、 塗りつぶしはされてないという扱いになっているようです。 なにか方法があるでしょうか?

  • 条件付き書式(エクセル2003)について

    セル C1 の値(文字列)がXならばセルA1 の背景色を黄色にしたいんですが、「条件付き書式」からどうすればいいのでしょうか?A1を選択して条件付き書式、数式が、まではわかるのですがここからどうしましょうか? =C1="X" で、パターンから色を黄色にすればいいんでしょうか???

  • エクセル2000の条件付き書式について

    エクセル2000において、条件付き書式を利用すると、そのセルの文字色とかパターン(塗りつぶしの色)などをその条件にそって、変えることができるのはわかったのですが、行単位で、条件付き書式を利用できないでしょうか? つまり、A1のセルがマイナスになった場合は、1の行はすべて赤に表示するということなのですが…

  • エクセル:半角カナを全角に、半角英数はそのままに。

    エクセル:半角カナを全角に、半角英数はそのままに。 ひらがな・漢字・半角カナ・半角英数が混じったセルが縦に沢山あります。 半角カナだけを全角にし、半角英数はそのままにしたいのですが、JISでは全て全角になってしまいます。 どなたか良い関数を教えてください。

  • エクセル条件付き書式をマクロにしたいです

    Excel2007使用しています。 類似質問が見つかりましたが、VBA勉強中でそこからの応用ができないので 教えていただけると助かります。 条件付き書式を毎回作成するのが大変なので、マクロで自動設定したいと考えています。 条件付き書式で設定していたのは「C4に指定文字があったら、B4・C5・D4・E4のセルを指定した色に塗りつぶす」を5パターン使用していました。 色を変えるかどうか判断する文字が含まれているのはC列にあります。 C4に「ああ」の文字があればB4・C5・D4・E4のセルを赤色に塗りつぶす C4に「いい」の文字があればB4・C5・D4・E4セルをアクア色に塗りつぶす C4に「うう」の文字があればB4・C5・D4・E4セルを黄色に塗りつぶす C4に「ええ」の文字があればB4・C5・D4・E4セルをオリーブ色に塗りつぶす C4に「おお」の文字があればB4・C5・D4・E4セルを紫色に塗りつぶす これを、C4から文字がある行まで(200行~15,000行まで対象行数が変動)処理して欲しい イメージで伝えて申し訳ありません、 情報足りなければご指摘いただければと思います。 どうぞ宜しくお願い申し上げます。

  • エクセルの条件付き書式の条件を増やしたい

    文字列のデータのなかで別のセルに入力した文字と一致するセルに着色したいのですが条件付き書式を使用し3色の指定(条件1、条件2、条件3)はできますが、検索するセル(入力セル)を10個(10色)に増やしたいのですが可能でしょうか?ウインドウズXP エクセル2003を使用しています。よろしくお願いいたします。

専門家に質問してみよう