コントロールに表示される文字列を設定する(Captionプロパティ)

ラベルやコマンドボタンに表示される文字列を設定するには Caption プロパティを使用します。ここでは Excel のユーザーフォームで Caption プロパティを使ってコントロールに表示される文字列を設定する方法について解説します。

(Last modified: )

コントロールに表示される文字列を変更する

ユーザーフォームでコマンドボタンやラベルなどを設置したときに、コントロール上には文字列が表示されます。下記ではラベル上に「Label1」、コマンドボタン上に「CommandButton1」と表示されています。

コントロールに表示される文字列を変更する(1)

このようなコントロールに表示される文字列を設定するには Caption プロパティを使用します。例えばユーザーフォーム上でラベルを一度クリックしてからプロパティウィンドウの Capiton の個所を見てください。値として「Label1」が設定されています。

コントロールに表示される文字列を変更する(2)

ラベルに表示される文字列を変更するには Caption の値を直接編集してください。ラベルに表示される文字列が新しい文字列に変更されます。

コントロールに表示される文字列を変更する(3)

コマンドボタンについても同じように Caption の値を変更しました。

コントロールに表示される文字列を変更する(4)

このように Caption プロパティの値を変更することで、コントロールに表示される文字列を変更することができます。

ユーザーフォームのタイトルを変更する

ユーザーフォームの Caption プロパティの値を変更すると、ユーザーフォームのタイトルバーに表示されているタイトルを変更することができます。

ユーザーフォームのタイトルを変更する(1)

ユーザーフォームのコントロールが設置されていない個所をクリックし、プロパティウィンドウ Capiton の個所を見てください。値として「UserForm1」が設定されています。

ユーザーフォームのタイトルを変更する(2)

Caption プロパティの値を直接編集してください。ユーザーフォームのタイトルバーに表示されるタイトルの文字列が新しい文字列に変更されます。

ユーザーフォームのタイトルを変更する(3)

このように Caption プロパティの値を変更することで、ユーザーフォームのタイトルに表示される文字列を変更することができます。

表示される文字列を改行する

Caption プロパティに文字列を代入するときに、文字列の途中で改行文字を入力して改行することができます。

プロパティウィンドウでは改行文字は入力できないので、ユーザーフォームに設置したラベルを一度クリックしたあともう一度クリックしてください。するとラベルに表示する文字列を直接編集できる状態になります。

表示される文字列を改行する(1)

改行する前までの文字列を入力してください。

表示される文字列を改行する(2)

Shift キーを押しながら Enter キーを押してください。改行されます。

表示される文字列を改行する(3)

残りの部分を入力してください。

表示される文字列を改行する(4)

Caption プロパティに設定する文字列を途中で改行することができました。

ユーザーフォームを表示してみると、改行を追加した位置で改行されてラベルが表示されているのが確認できます。

表示される文字列を改行する(5)

VBAのプログラムの中でCaptionプロパティを設定する

プロパティウィンドウを使って Caption プロパティの値を変更する代わりに、 VBA のコードを記述して Caption プロパティの値を変更することもできます。

プログラムの中で Caption プロパティを設定する場合は次の書式を使用します。

オブジェクト.Caption [= String ]

対象のオブジェクトの Caption プロパティに対してコントールに表示する文字列の値を代入します。

サンプルコード

簡単なサンプルで試してみます。ユーザーフォームが表示される前に発生する Initialize イベントに対するイベントプロシージャを作成し、その中で Caption プロパティの値を設定します。ユーザーフォームが表示される前にコントロールのプロパティの設定が行われます。

Initialize イベントに対するイベントプロシージャの使い方については「ユーザーフォームを表示する直前に発生するイベント(Initializeイベント)」を参照されてください。

ユーザーフォームのコントロールが何もないところをダブルクリックしてください。

VBAのプログラムの中でCaptionプロパティを設定する(1)

ユーザーフォームの規定のイベントである Click イベントに対するイベントプロシージャが表示されます。

VBAのプログラムの中でCaptionプロパティを設定する(2)

今回はユーザーフォームの Initialize イベントに対するイベントプロシージャを使用するので、コードウィンドウで次のようにイベントプロシージャを追加で記述してください。

Private Sub UserForm_Initialize()
    Label1.Caption = "名前を入力してください"
    CommandButton1.Caption = "OK"
End Sub

VBAのプログラムの中でCaptionプロパティを設定する(3)

これでコードの記述は完了です。では実際に試してみます。「Sub/ユーザーフォームの実行」をクリックしてください。

VBAのプログラムの中でCaptionプロパティを設定する(4)

ユーザーフォームが表示されました。追加されているラベルとコマンドボタンに表示される文字列がそれぞれ変更されていることが確認できます。

VBAのプログラムの中でCaptionプロパティを設定する(5)

このように VBA のプログラムの中で Caption プロパティの値を変更することができました。

なお VBA を使って Caption プロパティに文字列を設定する場合に、文字列の途中で改行する場合は例えば次のように vbNewLine を使用してください。

Private Sub UserForm_Initialize()
    Label1.Caption = "東京都港区" & vbNewLine & "芝公園"
End Sub

※ VBA で改行を行う方法について詳しくは「VBAで改行する」を参照されてください。

-- --

Excel のユーザーフォームで Caption プロパティを使ってコントロールに表示される文字列を設定する方法について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。