OfficeType

VBA~ユーザーフォームのテキストボックスにスクロールバーを設定しよう~Excel

ユーザーフォームのテキストボックスにスクロールバーを設定したい場合はMultiLineプロパティをTrueに設定しScrollBarsプロパティの定数を設定します。

書き方

オブジェクト名.MultiLine = True
オブジェクト名.ScrollBars = 定数

定数は以下の通りです。

名前説明
fmScrollBarsNone0スクロールバーを表示しません (既定値)。
fmScrollBarsHorizontal1水平スクロールバーを表示します。
fmScrollBarsVertical2垂直スクロールバーを表示します。
fmScrollBarsBoth3水平スクロールバーと垂直スクロールバーの両方を表示します。

オブジェクト名はユーザーフォームのオブジェクト名と、テキストボックスのオブジェクト名を指定します。オブジェクト名の確認方法は作成したユーザーフォームファイルをクリックするとユーザーフォームが表示されます。ユーザーフォーム全体を選択するとプロパティウィンドウにオブジェクト名という項目があるので、それがユーザーフォームのオブジェクト名になります。次にテキストボックスを選択すると同じようにテキストボックスのオブジェクト名が確認できます。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。

UserForm1というユーザーフォームを作成し、TextBox1というテキストボックスを設定した場合、下のコードを実行しテキストボックス内の改行がテキストボックスの高さに収まらない場合は垂直スクロールバーが表視されます。

Sub test1()

Load UserForm1
UserForm1.TextBox1.MultiLine = True
UserForm1.TextBox1.ScrollBars = fmScrollBarsVertical
UserForm1.Show

End Sub

image-01

image-02

プロパティウィンドウで設定

作成したユーザーフォームのファイルをクリックしプロパティウィンドウの選択欄からテキストボックスを選択します。プロパティウィンドウにMultiLineの項目とScrollBarsの項目があるのでクリックすると▼マークが表示されるのでMultiLineをTrueに選択しScrollBarsの定数を選択してください。。プロパティウィンドウが表示されていない場合はメニューの表示からプロパティウィンドウをクリックすると表示されます。

image-03

image-04

image-05

image-06

image-07

image-08