
taka



最新記事 by taka (全て見る)
- 『雑記』最近の私の話~ - 2019年9月26日
- 【動画】自作パソコン構成変更!ケースをNZXT H500に交換しました! - 2019年6月5日
- VBA 『Array関数』指定した要素で配列を作成する - 2019年5月23日
- 「動画」初完全ワイヤレスイヤホン『Jabra Elite Active 65t』 - 2019年5月17日
- VBA 日付で令和を簡単に判定してみよう - 2019年5月7日
フォーカスのあるTextboxの背景を変える
今回はTextboxのファーカス(カーソル)があるTextboxの背景を変えるプログラムをご紹介します。
Textboxが複数あるユーザーフォームを作成するとフォーカスのある位置が分かりにくくなってしまう場合があるためこのコードを使うと機能的、デザイン的にもよくなります。
他にも視認性がUPし、多少ですが作業効率もUPすることでしょう。
フォーム




今回はTextboxを4つ用意しました。
今回のコードを使うと画像のようにフォーカスがあるTextBoxの背景色を変化させてフォーカスが移動すると色を戻すというものです。
Private Sub TextBox1_Enter() 'フォーカスがTextBoxに移動したら色を変える TextBox1.BackColor = &HFFFFC0 End Sub Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'TextBoxから出る時に色を戻す TextBox1.BackColor = &H8000000F End Sub
このコードで一つのTextBoxの設定となります
Private Sub TextBox1_Enter() TextBox1.BackColor = &HFFFFC0 End Sub
Enterイベントはコントロールにフォーカスが移動してくる時に発生するイベントになります。
Exitイベントはフォーカスを移動させる時に発生するイベントになります。
EnterとExitでそれぞれ色を指定してあげることでフォーカスがあるTextBoxの色を変えることができます。
デメリット
デメリットというのか少し迷いますが、このコードの弱点が存在します。それはTextBoxの数の分だけEnterとExitを用意してあげなければいけないことです。ですので今回の見本のフォームのコードもTextBoxが4つしかないものでも下記のようになかなかのボリュームになってしまいます。
Private Sub TextBox1_Enter() 'フォーカスがTextBoxに移動したら色を変える TextBox1.BackColor = &HFFFFC0 End Sub Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'TextBoxから出る時に色を戻す TextBox1.BackColor = &H8000000F End Sub Private Sub TextBox2_Enter() 'フォーカスがTextBoxに移動したら色を変える TextBox2.BackColor = &HFFFFC0 End Sub Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'TextBoxから出る時に色を戻す TextBox2.BackColor = &H8000000F End Sub Private Sub TextBox3_Enter() 'フォーカスがTextBoxに移動したら色を変える TextBox3.BackColor = &HFFFFC0 End Sub Private Sub TextBox3_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'TextBoxから出る時に色を戻す TextBox3.BackColor = &H8000000F End Sub Private Sub TextBox4_Enter() 'フォーカスがTextBoxに移動したら色を変える TextBox4.BackColor = &HFFFFC0 End Sub Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean) 'TextBoxから出る時に色を戻す TextBox4.BackColor = &H8000000F End Sub
10個のTextBoxがある場合は10セットのコードが必要になるのです。今の所この弱点を解消する方法を私自身は知りません。
まとめ
今回はTextBoxのフォーカスが移動してきたときに背景色を変えるコードのご紹介をしました、このコードはcomboBoxにも応用が利きますのでぜひ利用してみてください、
フォロー・チャンネル登録お願いします
VBA以外についてのブログはこちら↓
https://yb-log.com/■Twitterフォロー
Follow @taka_pc1027■YouTubeチャンネル登録
コメントを残す