1

私は VBA に比較的慣れていないので、雇用主のために小規模なデータベースに取り組んでいます。クリックすると、入力した内容が削除されるテキスト ボックスを作成しようとしています。たとえば、メンバーの名を入力するための「最初」というテキスト ボックスがあります。クリックすると、テキストが消えて、必要なものを入力できるようになります。(一度だけ実行するという問題は、if ステートメントで簡単に解決できます)。次の質問を見てみましたが、どちらの答えもうまくいきませんでした。

クリックするとテキストボックス内のテキストがクリアされます

次のコードは何もしませんでした

Private Sub TextBox1_GotFocus()
TextBox1.Text = ""
End Sub

次のコードでは、「Handles」で「Expected, end of statement」というコンパイル エラーが発生します。

Private Sub txtNewNameHere_GotFocus() Handles txtNewNameHere.GotFocus
txtNewNameHere.Text = ""
End Sub

どちらもうまくいかなかった理由はわかりませんが、私が言ったように、私はこれに比較的慣れていません。どんな助けでも大歓迎です。

4

5 に答える 5

2

これは、まだフォーカスされていない場合、フォーカスされたテキスト ボックスをクリアします。

Private Sub TextBox1_Enter()
    TextBox1.Value = ""
End Sub

クリックするたびにテキスト ボックスがクリアされるわけではありません。それは役に立ちますか?

于 2012-07-10T07:45:35.043 に答える
1

テキストボックスの名前が「Text1」であると仮定すると、次のイベントが探していることを実行します。

Private Sub Text1_GotFocus()
    If Me.Text1.Value = "First" Then
        Me.Text1.Value = ""
    End If
End Sub

私はいつも私を置きます。フォームを参照するオブジェクトの前に。

上記のコード例では、テキスト ボックスの名前が 'TextBox1' か 'txtNewNameHere' かが不明だったので、上記のコードでは一般的な 'Text1' を使用しました。

テキスト ボックスの名前がわからない場合は、テキスト ボックスを右クリックして [プロパティ] を選択します。

更新:テキストボックスがフォームオブジェクトにあると仮定しました。

于 2012-07-10T00:17:41.597 に答える
0

以下のコードを使用して、vba フォームの値を無効化/リセットしてみてください。

    Private Sub CommandButton2_Click()
    TextBox1.Value = Null
    TextBox2.Value = Null
    TextBox3.Value = Null
    TextBox4.Value = Null
    End Sub
于 2020-06-24T11:32:22.787 に答える