• ベストアンサー

《エクセル2000》特定の文字のみ表示させたくない

皆様こんにちは。 個々のセルに、文字列扱いで ・・1・・・ ・・・2・・ 3・・・・・ など、ランダムな順番で中点と数字が入っています。 この点の表示を消して、数字のみ表記させるにはどうしたらいいでしょうか。 (検索-置換えで消す、という方法ではなく、あくまで表示上消したいということです)

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

  • ベストアンサー
回答No.9

No4,6,8です。 「キャラクタークラスのカウントプロパティを取得できません」の原因がわかりました。ちょっと修正してみました。これで試してみてください。範囲はEH4:EH481のみ限定です。 Sub TEST_IRO() For Each c In ActiveSheet.Range("EH4:EH481") If IsNumeric(c) = False Then With c xc = Len(c) For n = 1 To xc If .Characters(n, 1).Text = "・" Then .Characters(n, 1).Font.ColorIndex = 2 Next n End With End If Next c End Sub なお・が半角の場合は= "・" Then の中点も半角にしてください。

bari_saku
質問者

お礼

shishishishiさん、こんにちは。 こちらの方法で、何とかうまくいきました! 何度も何度も書き込みを頂きまして、感謝の言葉もありません。本当にありがとうございました!

その他の回答 (8)

回答No.8

No4&6です。 わたしがNo6で書いたVBAおよび、bari_sakuさんが、No5の補足で書いたVBAの両方をコピペして試しましたが、ちゃんと中点は白色に変わりました。機種依存文字も試しましたが問題ありませんでした。 確認ですが中点は全角ですよね?半角だとだめですよ。 半角の場合は= "・" Then の中点も半角にしてください。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.7

#5です。旨く行かないとのことですが、原因がわかりません。 (1)判別しているのはは、中点をIfで聞いているだけです。 エクセルの空きセルで、=CODE(MID(EH4,4,1))など中点をめがけてやって見てください。4を適当に変える。 8486になりますか。(中点を疑う) 私の場合1・・・の場合も・・・は見え無くなりましたが。 (2)機種依存文字があるとしても、比較には使っていないので、影響はないと思いますが。 文字の切りだしMid(Cells(j, "EH"), i, 1)が、まさかそのため(機種依存文字があるため)旨く行かないとは思いませんが For i = 1 To Len(Cells(5, "EH")) Msgbox mid(cells(5,"EH"),i,1) next i を実行しておかしい点が無いか、確認して見てください。 機種依存文字の実例が当方再現できなくてテストできてません。

bari_saku
質問者

お礼

こんにちは。 どうもうまくいかないので、試しにセルの内容を「値でコピー」し、別の場所でやってみたところ、うまくいきました。 元々のセルに、何か余計なものが入っていたのでしょうか…今の私のレベルでは、原因はよくわからないのですが。 お陰様で助かりました。度重なる回答、本当にありがとうございました。

回答No.6

No4です。 そうですか。なぜだろう?こちらではうまくいったのですが。(同じくエクセル2000です。) ではこれに変えてみるか、No5さんのでやってみてください。 Sub TEST_IRO() For Each c In ActiveSheet.UsedRange If c <> "" Then With c xc = Len(c) For n = 1 To xc If .Characters(n, 1).Text = "・" Then .Characters(n, 1).Font.ColorIndex = 2 Next n End With End If Next c End Sub

bari_saku
質問者

補足

すみません、きっと私の所でうまくいかなかった原因は、No.4さんの所にも書いた通り、普通の数字ではなく丸つき数字を使っているからなのだと思います。 やはり丸つきですと難しいですか?

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

A列A1:A20のセルの中点を、白色にするVBA Sub test02() For j = 1 To 20 For i = 1 To Len(Cells(j, "A")) If Mid(Cells(j, "A"), i, 1) = "・" Then Cells(j, "A").Characters(i, 1).Font.ColorIndex = 2 End If Next i Next j End Sub #4ご解説の標準モジュールに貼りつけ、実行して見て下さい。例えばC列を対象にするなら、上記"A"のところを"C"に変えてください。 元の黒に戻すならColorIndex=1にすること。

bari_saku
質問者

補足

こんにちは。 変えたい列はEH4からEH481までなので、次のように変えてみました。 Sub test02() For j = 4 To 481 For i = 1 To Len(Cells(j, "EH")) If Mid(Cells(j, "EH"), i, 1) = "・" Then Cells(j, "EH").Characters(i, 1).Font.ColorIndex = 2 End If Next i Next j End Sub こちらのやり方だと途中で止まらないのですが、なぜか 1・・・・・・ と入っているものは変化がなく、それ以外のものは全部消えてしまいます。 それですいません、とても重要な事を書き忘れてしまいました。 今回使っている数字なのですが、ただの数字ではなく、丸つき数字なのです。 機種依存になってしまうので、投稿に際しては使わなかった事を書き添えるのを失念していたものです。 やはり文字列になってしまうと、難しいでしょうか…

回答No.4

No1&3です。 VBAは初めてですか。それじゃ今回試しにやってみましょう。 失敗するといけないから最初にちゃんとバックアップを取っておいてくださいね。 1.Altキー + F11キー または、[ツール] メニューの [マクロ] をポイントし、  Visual Basic Editorをクリックします。 2.Visual Basic Editor ウィンドウのメニューから、  [挿入]→[標準モジュール] をクリックします。 3.表示されたコードウィンドウ(白い部分)に先ほどのマクロコードをそのままコピペします。 (SubからEnd Subまで) 4.ワークシートに戻り、[ツール] メニューの [マクロ] →「マクロ」で今貼り付けたマクロ名(TEST_IRO)を選択して、実行。 これでめでたく色が変わったらおめでとう!

bari_saku
質問者

補足

こんにちは、試してみました。 が、「キャラクタークラスのカウントプロパティを取得できません」と出て途中で止まってしまいます…

回答No.3

No1です。 いちいち、文字を選択して色を白に変えるのも大変でしょうから(数が多いと)、VBAで自動的に出来るように作ってみました。 これでお試しください。 VBAの使用法が不明の場合は補足してください。 Sub TEST_IRO() For Each c In ActiveSheet.UsedRange If c <> "" Then c.Activate With c xc = .Characters.Count For n = 1 To xc If .Characters(n, 1).Text = "・" Then .Characters(n, 1).Font.ColorIndex = 2 Next n End With End If Next c End Sub No2のk0000さん、 セルの条件付書式って文字単位での色の設定できましたっけ?(やったことないけど)

bari_saku
質問者

補足

こんにちは。 すいません…VBAはやったことがないので、ここからどうしたらいいか全然分かりません…ごめんなさい。

  • k0000
  • ベストアンサー率37% (9/24)
回答No.2

1.文字が入っているすべてのセルを選択 2.書式→条件付書式で「・」と等しいときに文字色を白色にする という設定をしてはいかがでしょうか?

bari_saku
質問者

お礼

こんにちは。 条件付き書式は真っ先に試してみたのですが、今回の場合は中点と数字が混在しているので、ちょっと無理のようです。 でも、書き込みありがとうございました。

回答No.1

・・1・・・ の「・・」と「・・・」 を、フォントの色を白に設定したらどうでしょう?

関連するQ&A

  • Excelで下記のようなセルから文字列を取り出す

    [文字列1(字数ランダム)][数字(桁数固定)][文字列2(字数ランダム)][文字列3(字数固定)] 1つのセルに上記のような文字列がはいっています。 それぞれの文字列や数字の境目にはスペースやカンマなどはありません。 このセルから文字列2だけを取り出す方法はあるでしょうか? ご教示お願いいたします。

  • エクセルの表示形式(日付→文字)

    エクセルで、2002/12/1のような日付が大量に入っている列があります。 そのセルの表示形式は、現在日付になっているのですが、 文字列に変更する必要が出てきました。 しかし、表示形式を文字列に変更すると、37591のような数字になってしまうセルと、2002/12/1のままのセルが出てきてしまいます。 表示形式を文字列に変えてもすべてのセルが2002/12/1のようになる方法はないでしょうか、よろしくお願いいたします。

  • Javascriptで文字を順番に表示し開始を

    Javascriptで文字列を順番に表示し、そのスタート地点を任意にしたいのです。 http://okwave.jp/qa/q2200463.html こちらのページを参考に、アクセス毎に順番に表示をするページを作成しております。 このリストの、スタート地点をランダムにする改変はできますでしょうか。 本来の目的は、複数設定した文字列をランダムに、しかし一周して全ての文字列を表示し終わるまでは重複しないものを求めていたのですが、検索が下手なのか、探し当てることができませんでした。 そこで、順番に表示されるもののスタート地点をランダムにすることはできないものかと思ったのですが…… どちらでも結構ですので、有識者様、何とぞ宜しくお願いいたします。

  • Excelで特定文字を数える

    Excelを使っています。 かなりのデータ(行・列ともに)があるのですが、 それぞれのセルの文字列の中にある”・”の数を数えて 別のセルに表示させたいのです。 文字列操作の関数に、文字列の中から特定文字を探し出し その位置を知らせる、というものは見つかったのですが、 上記のような条件に当てはまるものはみつかりませんでした。 どういった方法があるでしょうか。 よろしくお願いします。

  • エクセルでマイナスを消す方法を教えて下さい。

    エクセルでマイナスを消す方法を教えて下さい。 詳細ですが、(セル-セル)*100でマイナス表記の数字が表示された場合、このマイナス表記の数字をプラスに変換する方法を教えて下さい。 (編集→置換→検索する文字列-→置換後は空白)を試したのですが、解決できませんでした。 宜しくお願い致します。

  • 特定の文字が表示されている場合、その隣のセルに決まった文字を表示したいのです。

    お世話になっております。 セルAの列2000行程度、順不同で1~6の数字が縦に並んでいます。 この場合、A列に1、3、5の数字が並んでいる場合は、A列のそれらのセルのすぐ隣(仮にB列)に”関東”と表示し、2、4、6の数字のすぐ隣のセルには”関西”と表示させるようにマクロで設定するには、どのような表記でしたら良いのでしょう? 条件付書式の使用も考えたのですが、何しろファイル数が多いものですから、どうにかマクロで簡単に出来ないものかと模索中です。 恐れ入りますが、どなたかご教示願います。

  • エクセル 文字列で入力した数字を数値にする

    エクセルで、文字列の設定で入力した数字は、[セルの書式設定]で、数値として設定しても、文字列のままになります。 (セルの左上に、文字列と分かる緑の三角が付いたままになり、表を作ってもグラフの表示は出来ません。) 数値として数字を入力をした後、[セルの書式設定]で文字列にして、再び[セルの書式設定]で数値にすると、数値にはなります。 (この場合、文字列にしても、セルの左上に緑の三角が付かず、このまま表を作ると数値(小数点以下が0の場合は小数点以下が削除されます。)の扱いとなりグラフの表示が出来ます。) 文字列で入力した数字は、数値にはならないのでしょうか? よろしくお願いいたします。

  • EXCELで、数字が文字列扱いになってしまう

    お世話になります。 なぜだか分からないのですが、 EXCELで、数字が文字列扱いになってしまって、 計算してくれません。 「セルの書式設定」で「表示形式」を、数値や標準にしたり、”,"を付けたりしているんですけど、 反応してくれません。 ただし、該当セルの数字をダブルクリックすると、 数字扱いに代わってくれるようです。 いちいち、全てのセルをダブルクリックするのは、 大変ですし、漏れによる誤差が怖いのですが、 何かいい方法はないでしょうか?

  • エクセル 特定の文字だけ表示させたい

    例えばパスワードのように数字とアルファベットの混在した文字列があるとすると、その中から数字だけ表示するようにするにはどうしたらよいのでしょうか?a1234567890a→1234567890

  • ExcelのVLOOKUPで結果の表示が・・・

    うまくいきません。 =IF(B17="","",VLOOKUP(B17,Sheet3!$A$1:$B$40,2)) という関数を入力しました。 結果は範囲内の2列目から検索された 「0010181」という数字のはずなのですが正しく表示されません。 この場合、結果は「0040602」と表示されました。 (関数は間違っていないと思うのですが) セルの書式設定は「文字列」になっています。 他のセルでもやはり正しい結果がでません。 こんなことは初めてでさっぱりわかりません。 どうしたら、範囲内にある正しい数字(文字列)が表示されますか? うまく説明できないので不明な点があったら補足致しますので よろしくお願い致します。

専門家に質問してみよう