[[20161025101653]] 『手入力できない』(幸過) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『手入力できない』(幸過)

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.