VBA~ユーザーフォームのテキストボックスにスクロールバーを設定しよう~Excel
ユーザーフォームのテキストボックスにスクロールバーを設定したい場合はMultiLineプロパティをTrueに設定しScrollBarsプロパティの定数を設定します。
書き方
オブジェクト名.MultiLine = True オブジェクト名.ScrollBars = 定数
定数は以下の通りです。
名前 | 値 | 説明 |
---|---|---|
fmScrollBarsNone | 0 | スクロールバーを表示しません (既定値)。 |
fmScrollBarsHorizontal | 1 | 水平スクロールバーを表示します。 |
fmScrollBarsVertical | 2 | 垂直スクロールバーを表示します。 |
fmScrollBarsBoth | 3 | 水平スクロールバーと垂直スクロールバーの両方を表示します。 |
オブジェクト名はユーザーフォームのオブジェクト名と、テキストボックスのオブジェクト名を指定します。オブジェクト名の確認方法は作成したユーザーフォームファイルをクリックするとユーザーフォームが表示されます。ユーザーフォーム全体を選択するとプロパティウィンドウにオブジェクト名という項目があるので、それがユーザーフォームのオブジェクト名になります。次にテキストボックスを選択すると同じようにテキストボックスのオブジェクト名が確認できます。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。
UserForm1というユーザーフォームを作成し、TextBox1というテキストボックスを設定した場合、下のコードを実行しテキストボックス内の改行がテキストボックスの高さに収まらない場合は垂直スクロールバーが表視されます。
Sub test1() Load UserForm1 UserForm1.TextBox1.MultiLine = True UserForm1.TextBox1.ScrollBars = fmScrollBarsVertical UserForm1.Show End Sub
プロパティウィンドウで設定
作成したユーザーフォームのファイルをクリックしプロパティウィンドウの選択欄からテキストボックスを選択します。プロパティウィンドウにMultiLineの項目とScrollBarsの項目があるのでクリックすると▼マークが表示されるのでMultiLineをTrueに選択しScrollBarsの定数を選択してください。。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。