昨日見た夢を教えて下さい

画像参照していただきたいのですが、

EXCELにおきまして、
ある型番の羅列なのですが、間に入っている
"-" が統一されていません。

- 全角マイナス
- 半角マイナス
― 全角ダッシュ
‐ 全角ハイフン
ー 長音

そこで上記の内、全角マイナス以外のマイナスらしきものに色つけて
区別させることはできないでしょうか。

条件付き書式では特定の文字のみ色付けはできないようで、
マクロを使うようなのですが・・

アドバイスよろしくお願い致します。

「EXCEL 全角マイナス以外のマイナスと」の質問画像

A 回答 (6件)

こんばんは!



一例です。
必ずデータ範囲を指定した後にマクロを実行してください。(←必須★:注)

Sub Sample1() 
 Dim c As Range, i As Long, k As Long
 Dim myStr As String
 Dim myAry
  myAry = Array("―", "ー", "‐", "-") '//←全角のマイナス以外と思われるマイナスを羅列しておく★//
   For Each c In Selection
    c.Font.ColorIndex = xlAutomatic
     For i = 1 To Len(c)
      myStr = Mid(c, i, 1)
       For k = 0 To UBound(myAry)
        If myStr = myAry(k) Then
         c.Characters(Start:=i, Length:=1).Font.ColorIndex = 3 '//←赤//
        End If
       Next k
     Next i
   Next c
End Sub

※ Arrayに格納した「マイナス」の文字が間違っていたら、訂正してください。
(半角マイナスとハイフンなどの区別が付きにくい)

※ 一文字ずつ舐めるように検索していますので、そこそこ時間を要すると思います。
極端に広い範囲は指定しないでください。(列全体や行全体など)
砂時計がクルクル回って応答なしの状態になってしまいます。m(_ _)m
    • good
    • 0
この回答へのお礼

ありがとうございます!できました!
本当に感謝です。

お礼日時:2019/11/06 01:33

補足要求です。


1.画面のレイアウトはどうなっていますか。どの列のデータが対象になるのかがよくわかりません。(複数列が対象になるかどうかも含めて)
2.「1858-47」を例にとると、常に5文字目にハイフン(及びそれらしきもの)があると考えてよいのですか。
それとも、5文字目以外のケースもありますか。また、「1858-47-88」などのように2つ以上のケースもあるのですか。
3.データ量はどのくらいありますか。(およそ何行ありますか)
上記の点が明確になれば、更に良い回答が得られるかと。
    • good
    • 0

でけたばい。

これがしたかったっちゃろ。A列指定で、3回のリピートにしています。適当に変えてくれ。

Sub Sample01()

Dim i As Integer, subject As String

For i = 1 To 3

If Not Range("A" & i).Value Like "*[-]*?" Then
Range("A" & i).Characters(Start:=5, Length:=1).Font.ColorIndex = 3
End If

Next

End Sub
「EXCEL 全角マイナス以外のマイナスと」の回答画像5
    • good
    • 0

マクロ音痴な私が言うのも差し出がましいが、数式だけで記号のみの着色は無理なので、添付図で示す「条件付き書式」でお茶を濁すしか仕方アンメーかと。

「EXCEL 全角マイナス以外のマイナスと」の回答画像3
    • good
    • 0

なるほど、失礼した。


左の桁数4文字で右の桁数2文字なので、切り分けて、真ん中の1文字記号だけ色変えることはできるけど、
結合すると1セルだから、黒になっちゃうね。
手動ならセル内1文字だけ、色変えられるけど、他のやり方で出来るのかな?すまん分からん。できない気もするけど、誰かの回答をまとう。
「EXCEL 全角マイナス以外のマイナスと」の回答画像2
    • good
    • 0

色付けしなくても、"-"に変えたらいいだけじゃないの?


置換するだけだよ。Ctrl+Hで色付けしたらいい。
    • good
    • 0
この回答へのお礼

統一する必要ありませんので、置換はつかいません。
また、置換で色付けすると文字列全体が色付けされてしまいます。

お礼日時:2019/11/05 19:41

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