教えて!ExcelVBA!

ExcelVBAの基礎知識・書き方について紹介します。

【ExcelVBA フォーム&コントロール】テキストボックスにスクロールバーを表示する方法を教えて!

構文

構文は以下の通りです。

テキストボックス名.ScrollBars = 定数

解説

ScrollBarsプロパティは、テキストボックスコントロールのスクロールバーの表示方法を設定するためのものです。テキストボックスに表示されるテキストがテキストボックスのサイズを超えた場合に、どのようにスクロールバーを表示するかを制御します。値には、テキストボックスのスクロールバーを制御するための定数を設定します。定数には以下のいずれかを使用します。

定数 内容
fmScrollBarsNone 0 スクロールバーを非表示にします。
fmScrollBarsHorizontal 1 水平スクロールバーのみを表示します。
fmScrollBarsVertical 2 垂直スクロールバーのみを表示します。
fmScrollBarsBoth 3 水平と垂直の両方のスクロールバーを表示します。

使い方

具体的な使い方を紹介します。

' テキストボックス名が"TextBox1"で、垂直スクロールバーを表示する場合
TextBox1.ScrollBars = fmScrollBarsVertical

このコードは、テキストボックス1(TextBox1)に対して垂直スクロールバーを表示する設定を行います。テキストボックス内に表示されるテキストがテキストボックスの高さを超えた場合、垂直スクロールバーが表示され、ユーザーはテキストを上下にスクロールできるようになります。

プログラミング例

以下に、プログラミング例を紹介します。

1.垂直スクロールバーを表示する例

Sub SetVerticalScrollBar()
    ' テキストボックスの名前が"TextBox1"の場合
    ThisWorkbook.Sheets("Sheet1").TextBox1.ScrollBars = fmScrollBarsVertical
End Sub

このコードは、特定のワークシート("Sheet1")にある名前が"TextBox1"のテキストボックスに垂直スクロールバーを表示する例です。

2.水平スクロールバーを表示する例

Sub SetHorizontalScrollBar()
    ' テキストボックスの名前が"TextBox2"の場合
    ThisWorkbook.Sheets("Sheet1").TextBox2.ScrollBars = fmScrollBarsHorizontal
End Sub

このコードは、特定のワークシート("Sheet1")にある名前が"TextBox2"のテキストボックスに水平スクロールバーを表示する例です。

3.垂直と水平の両方のスクロールバーを表示する例

Sub SetBothScrollBars()
    ' テキストボックスの名前が"TextBox3"の場合
    ThisWorkbook.Sheets("Sheet1").TextBox3.ScrollBars = fmScrollBarsBoth
End Sub

このコードは、特定のワークシート("Sheet1")にある名前が"TextBox3"のテキストボックスに垂直と水平の両方のスクロールバーを表示する例です。

まとめ

スクロールバーを表示することにより、大量のテキストを扱うテキストボックスを作成し、ユーザーフレンドリーなExcelアプリケーションを開発するのに役立ちます。是非活用してください。