• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBA初心者です。)

VBA初心者のためのテキストボックスの表示色変更の方法

このQ&Aのポイント
  • VBA初心者の方に、テキストボックスの表示色を変更する方法を教えてください。
  • VBのUserFormにテキストボックスとコンボボックスを作成し、テキストボックスの表示色を変更したいです。
  • テキストボックスに表示される文字を淡色にしない方法を教えてください。

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

  • ベストアンサー
noname#144013
noname#144013
回答No.2

こんにちは。 以下は一例です。 「フレーム」上に「テキストボックス」を配置し、フレームへのフォーカス移動を 禁止すれば、目的の設定が可能だと思います。 具体的には、以下のような設定及び、マクロの記述を行えば良いと思います。 1)ユーザーフォームに、「フレーム」を追加する。 2)「フレーム」上に、「テキストボックス」を配置する。   ・テキストボックスのEnabledプロパティは、Trueにしておきます。 3)ユーザーフォームのInitializeイベントに以下の記述を追加する。   '===================================   'フレームの初期設定   Frame1.Caption = ""   'キャプションをなしにする   Frame1.BorderStyle = fmBorderStyleSingle '境界線を表示する   Frame1.BorderColor = Frame1.BackColor   '境界線の色を背景色と同じにする   Frame1.Enabled = False 'フォーカス移動を禁止する   '===================================  ※上記は、フレームのオブジェクト名が"Frame1"だった場合の記述例です。  ※フレームの境界色を変更して、表示上フレームを見えないようにしています。 以上のような設定で、テキストボックスは通常表示のままで、フォーカス移動の 禁止が可能だと思います。 添付画像は、ユーザーフォームの画面例、及び、マクロの記述例です。 なお、上記の方法は下記サイトの内容を参考にさせて頂きました。 ■参考サイト ユーザーフォーム上のtextboxをenableにし、かつ淡色にしたくない http://www.moug.net/faq/viewtopic.php?t=46752 以上です。

kamioni
質問者

お礼

希望通りになりました。こんな技があるとは…奥深いです。丁寧な説明をありがとうございました。m(__)m

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • tom11
  • ベストアンサー率53% (134/251)
回答No.3

テキストボックスを編集不能にして、表示を淡色にしたくないなら テキストボックスを、いっそ、ラベルにしては如何ですか ラベルにすると、淡色には、ならないみたいですが。 テキストボックスでないといけないなら、ごめん

kamioni
質問者

お礼

ラベルだとならないのですね。機会があれば使ってみます。 また何かあったらよろしくお願いしますm(__)m

すると、全ての回答が全文表示されます。
回答No.1

ちょっと力技ですが... テキストボックスの Enter イベントを使って別のコントロールに強制的にフォーカスを移すというのはどうでしょうか。   Private Sub TextBox1_Enter()    TextBox2.SetFocus   End Sub って感じで。 手元の環境 (Excel 2007) では、マウスクリックや Tab 移動でのフォーカスにきちんと反応してくれました。 ただし、VBA で SetFocus を使ってテキストボックスにフォーカスを移すと、実行時エラーが発生します。 あまり詳しく調べてないんですが、回避策あるのかなぁ 中途半端な情報ですみません...

kamioni
質問者

お礼

>中途半端な情報ですみません... いえいえ、自分は全然初心者ですので、とりあえず今はいろんな知識がすべて自分の勉強になりますので、どんな回答でもありがたいです。またよろしくお願いしますm(__)m

すると、全ての回答が全文表示されます。

関連するQ&A