テキストボックス内の文字列を選択状態にする
ボタンを押すとTextBox1内の文字をすべて選択し、すぐに上書き入力できる状態にします。
実行前に確認
- SelStartは0始まりです。SelStartを後から設定すると選択長が0に戻るため、SelStart→SelLengthの順で設定します。
- コードと公式仕様を照合した学習用の例です。Excel実機での実行確認は行っていません。
1サンプルコード
'【貼付先:UserForm1 のコードモジュール】
Option Explicit
Private Sub UserForm_Initialize()
Me.TextBox1.Value = "書き換える文字"
Me.CommandButton1.Caption = "全選択"
End Sub
Private Sub CommandButton1_Click()
With Me.TextBox1
.SetFocus
.SelStart = 0
.SelLength = Len(CStr(.Value))
End With
End Sub図で見る全文を選ぶ
イメージ図ボタンを押すとTextBox1内の文字をすべて選択し、すぐに上書き入力できる状態にします。
フォーカス
TextBox1.SetFocus
先頭
SelStart=0
選択長
文字数ぶんSelLengthを設定
各操作は、このガイドに指定されたフォームのコードで行います。
コードの処理を説明する模式図です。実際の画面や実行結果を撮影したものではありません。
使い方・実行手順を確認する5つの手順で、コードの使い方を確認できます
- 1
Windows版デスクトップExcelの練習用ブックを.xlsmで保存し、Alt+F11→[挿入]→[ユーザーフォーム]で、名前がUserForm1の空のフォームを用意します。各例は別々に試します。
- 2
ツールボックスからTextBox1とCommandButton1を各1個を置き、各コントロールの[(Name)]が記載どおりか確認します。
- 3
UserForm1を右クリック→[コードの表示]を開き、掲載コード全体をフォームのコードモジュールへ貼り付けます。標準モジュールには貼り付けません。
- 4
VBEでUserForm1を選び、F5でフォームを表示します。 「全選択」をクリックし、「変更」と入力します。
- 5
全ての文字が選択され、入力すると「変更」に置き換わります。