[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『ブックを開いたときのUserFormの状態について』(ひな)
ブックを開いたときにUserFormを出しています。
UserFormの中にあるTextBoxについて困っています。
現状、TextBoxにカーソルを置いたら、文字が入力ができるようになっていて、
TextBoxでないところにカーソルがいくと、「検索ワードを入力してください」
となります。
本当は、ブックを開いてUserFormが出たとき(カーソルがどこにも置かれていないとき)に、「検索ワードを入力してください」とだしたいのですが、
今は、いったんどこかにカーソルをおかないと、出てきません。
−−−
Private Sub TextBox1_Enter()
TextBox1.Value = ""
End Sub
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If TextBox1.Value = "" Then TextBox1.Value = "検索ワードを入力してください"
End Sub
< 使用 Excel:Excel2016、使用 OS:Windows10 >
Private Sub UserForm_Initialize() TextBox1.Value = "検索ワードを入力してください" End Sub
こんなのはどうですか
(火災報知器) 2023/04/18(火) 20:05:29
Initializeのところは、以下のものを入れておりまして
頂いたコードのTextBox1.Value = "検索ワードを入力してください"を
追加したのですが、でてきませんでした、入れる場所がちがいますでしょうか
Private Sub UserForm_Initialize()
Dim dblX As Double, dblY As Double Dim ck As Boolean With ActiveWindow dblX = .PointsToScreenPixelsX(0) / 96 * 72 + Range("A1").Left * .Zoom / 100 dblY = .PointsToScreenPixelsY(0) / 96 * 72 + Range("A1").Top * .Zoom / 100 End With With TextBox1 TextBox1.Value = "検索ワードを入力してください" .ForeColor = RGB(192, 192, 192) .IMEMode = fmIMEModeHiragana TextBox1.SetFocus End With ck = False End Sub (ひな) 2023/04/19(水) 07:14:31
http://officetanaka.net/excel/vba/beginner/16.htm
https://excel-ubara.com/excelvba1/EXCELVBA351.html
(シンジ) 2023/04/19(水) 09:04:55
TextBox1のTabIndexプロパティを1以上に変更するとどうなるでしょうか。
(火災報知器) 2023/04/19(水) 09:24:55
なのですが、文脈からして先頭ですよねこりゃ。 (だったら尚更SetFocus要らん気もしますが...)
初回のEnterイベントだけ不発になる様に仕組むか...
Private Sub TextBox1_Enter() Static Flg As Boolean If Flg Then TextBox1.Value = "" Flg = True End Sub
あーでもTextBox1内でキャレットの位置が [検索ワードを入力してくださいI ] ↑こんな感じだと かえって面倒じゃないですか? たとえば↓こんな感じ?
Private Sub UserForm_Initialize() With TextBox1 .Text = "検索ワードを入力してください" .SelStart = 0 .SelLength = .TextLength .IMEMode = fmIMEModeHiragana End With End Sub Private Sub TextBox1_Enter() Static Flg As Boolean If Flg Then TextBox1.ForeColor = &H80000008 TextBox1.Value = "" End If Flg = True End Sub Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean) If TextBox1.Value = "" Or TextBox1.Value = "検索ワードを入力してください" Then TextBox1.ForeColor = RGB(192, 192, 192) TextBox1.Value = "検索ワードを入力してください" End If End Sub
(白茶) 2023/04/19(水) 09:27:48
Private Sub TextBox1_Change() Label1.Visible = (TextBox1.Value = "") End Sub
たとえばこんな風にするとか
(ただしEnable=Falseの副作用で淡色表示になります)
(火災報知器) 2023/04/19(水) 09:58:54
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.