VBA~ユーザーフォームのテキストボックスで自動で折り返さないように設定しよう~Excel
ユーザーフォームのテキストボックスで複数行に入力できるようにしたい場合はMultiLineプロパティをTrueに設定しますが、この時テキストボックスの行末で自動で折り返さないように設定したい場合はWordWrapプロパティをFalseに設定します。
書き方
オブジェクト名.MultiLine = True
オブジェクト名はユーザーフォームのオブジェクト名と、テキストボックスのオブジェクト名を指定します。オブジェクト名の確認方法は作成したユーザーフォームファイルをクリックするとユーザーフォームが表示されます。ユーザーフォーム全体を選択するとプロパティウィンドウにオブジェクト名という項目があるので、それがユーザーフォームのオブジェクト名になります。次にテキストボックスを選択すると同じようにテキストボックスのオブジェクト名が確認できます。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。
UserForm1というユーザーフォームを作成し、TextBox1というテキストボックスを設定した場合、下のコードを実行するとテキストボックスに複数行入力できるようになりますがテキストボックスの端まで入力しても自動で改行されません。改行したい場合はCtrlキーを押しながらEnterキーを押すか、EnterKeyBehaviorプロパティをTrueに設定しEnterキーを押すと改行されます。
Sub test1() Load UserForm1 UserForm1.TextBox1.MultiLine = True UserForm1.TextBox1.WordWrap = False UserForm1.Show End Sub
プロパティウィンドウで設定
作成したユーザーフォームのファイルをクリックしプロパティウィンドウの選択欄からテキストボックスを選択します。プロパティウィンドウにMultiLineとWordWrapの項目があるのでクリックすると▼マークが表示されるのでMultiLineをTrueに設定しWordWrapをFalseに設定してください。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。