[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『手入力できない』(幸過)
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
With Me.TextBox1 If Flg = False Then .BackColor = &HFFFFFF .ForeColor = &H0 .Value = "" Flg = True End If End With End Sub
Private Sub UserForm_Initialize()
With Me.TextBox1 .BackColor = &HFFFFFF .ForeColor = &H808080 .Value = "名前を入力して下さい。" End With Flg = False End Sub
ユーザーフォーム上にテキストボックスを配置し、
テキストボックス内に例文のようなものを表示させ、何か入力すればその例文が消えるようにしたいのですが思うようにいきません。
上記のコードをそのまま使用しますと、一文字入力する毎にif文へ入ってしまい文字が消えてしまいます。
どこかに文字を入力し、それをコピペした場合は貼り付けたすべての文字が表示されます。
このコードを通るのは最初の一回のみにしたいのですが、どう書き換えたらよろしいでしょうか。ご教示くださいませ。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Dim Flg As Boolean とか、変数宣言が足りていませんが、これはフォーム内で共通して使わないと駄目なので、Option Explicitの直下あたりにコーディングしてください。というか、変数宣言をどうやっているのか、そこまで書く事!
もし変数宣言せずに動かしているならば、「ツール」−「オプション」−「編集」で「変数の宣言を強制する」にチェックを入れる事! 貴方は一生、VBAの変数宣言を省略しては駄目です! その手抜きがバグに繋がります。
(???) 2016/10/25(火) 11:07
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.