• ベストアンサー

(VBA)TextBox記入文字を分かりやすく表示

UserFormにTextBoxを配置した場合、 記入した文字列がビジュアル的に明確に判るようにしたい。 例えば、3文字(スペース、ハイフォン、スペース)入力した場合は 例えば、参考画像のように ① 背景色を変える ② 罫線(格子)で囲む 等 多分、EXCEL(VBA)の標準機能では希望のような事は出来ないと思いますので 画像は、あくまで参考なので他のアイデアで判りやすくなれば方法は問いません。 記入した文字は、後で標準モジュールで値を利用したいので 表示だけを見せるは希望しません。

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

  • ベストアンサー
  • kkkkkm
  • ベストアンサー率66% (1721/2591)
回答No.32

> コードを追加して思っていた事が出来るようになりました。 よかったです。うまくいくかなとちょっとドキドキしてました。 一点忘れてました Change()なので Application.EnableEvents = False Application.EnableEvents = True で囲っておかないと、問題が起こる可能性がありますので以下に変更しておいてください。 Private Sub Target_Change() Application.EnableEvents = False With Target If InStr(.Text, " ") Then .BackColor = RGB(176, 196, 222) Else .BackColor = &H80000005 End If End With Application.EnableEvents = True End Sub クラスはエクセルでは殆ど使う事は無いと思いますが、ひな形みたいなものだと思うといいかもしれません。

NuboChan
質問者

お礼

追加のコードをありがとうございます。 今回は、これで失礼します。

その他の回答 (31)

  • kkkkkm
  • ベストアンサー率66% (1721/2591)
回答No.1

通常のTextBoxだと文字毎に色は付けられないと思いますが 以下のサイトの方法で文字毎に色を付けてみればいかがでしょう VBA TextBox内の文字に色を付ける https://www.excel-pitin.net/single-post/vba-textbox%E5%86%85%E3%81%AE%E6%96%87%E5%AD%97%E3%81%AB%E8%89%B2%E3%82%92%E4%BB%98%E3%81%91%E3%82%8B

NuboChan
質問者

補足

kkkkkmさん」、ありがとうございます。 「InkEditコントロール」。 聞いたことが無い言葉なので ネットで調べても利用方法が理解できませんでした。 TEXTBOXとは、別物で表示だけを色付き文字で表示できるだけで 標準モジュールで値を利用できないなら 希望の処理ができなさそうなので諦めます。

関連するQ&A