【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言

たとえば♡を入力した場合に、この文字のみを赤色に自動でつくVBAを教えてください。
同一セル内で特殊文字のみ色を付けるようにしたいのです。

質問者からの補足コメント

  • yoreyoreさん、ご回答を有難うございました。
    Segoe UI Symbol"は知らなかったので勉強になりました。
    しかし、わたしの質問内容が曖昧すぎました。申し訳ありません。
    MicrosoftのWordのように、はーと と入力して変換候補の中から特殊記号を選択決定した時点で色がついてほしいのです。
    あと、例えば♡は赤色、✈は青色と特殊記号により色を変えたいのです。

    わたしのExcel環境は、Microsoft Office Home and Business 2019のExcelバージョン2011となります。

      補足日時:2021/01/05 02:12

A 回答 (2件)

> MicrosoftのWordのように、はーと と入力して変換候補の中から特殊記号を選択決定した時点で色がついてほしいのです。



これは、下のサイトに書かれているオートコレクトの機能でしょうか。
http://office-qa.com/Word/wd244.htm
Excelには、この機能がないのではないかと想像します。
Excelにもオートコレクトはあるけれども、書式付きで文字を変換決定することはできないようです。(試した範囲では)
Excelで、書式設定してある文字列を(セルそのものをではなく、文字列をという意味です)コピーして(メモリに入れて)、別のセルに貼り付けても、文字列の値が貼り付くだけになります。 
たぶん、WordとExcelの入力時の機能が何か違うのだろうと思います。
[=]などの演算式で、セルから参照しても、書式設定は(普通には)無視されます。Excelで、文字についている書式情報を得るのも、できないのではないかと想像します。

「入力のときに色つきにしたい」としても、セルに値を入れた(セルへの入力操作でセルが変更された)ときに、そのセルの中の文字列を1文字づつ当たって、指定文字があった場合は、(別に用意した参照表にある指定の色)を付けるという方法しか、私には思いつきません。
ですが、やってみると、100文字程度文中に数文字の記号があり、その記号が30種程度でやっても、どうも、おかしな動作になって、あげくは、Excelが落ちてしまいます。私には、上手くできませんでした。

Wordで、オートコレクトの方法で文字を入力し(色もつく、フォントの書体、サイズも可能)、Wordから必要部分をコピーして、Excelのセルに貼り付けるのが、実際的なような気がします。
    • good
    • 1
この回答へのお礼

yoreyoreさん、さっそく回答を有難うございました。

お礼日時:2021/01/05 20:35

Sub ttr()


With ActiveCell
l = Len(.Value)
For j = 1 To l
With .Characters(Start:=j, Length:=1).Font
If .Name = "Segoe UI Symbol" Then
.Color = -16776961
End If
End With
Next
End With
End Sub
    • good
    • 1
この回答へのお礼

初めて教えてgooを使うのでよくわからず、捕捉に追加してしまいました。
yoreyoreさん、ご回答を有難うございました。

お礼日時:2021/01/05 02:14

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


おすすめ情報