コントロールに表示される文字列を設定する(Captionプロパティ)
ラベルやコマンドボタンに表示される文字列を設定するには Caption プロパティを使用します。ここでは Excel のユーザーフォームで Caption プロパティを使ってコントロールに表示される文字列を設定する方法について解説します。
(Last modified: )
コントロールに表示される文字列を変更する
ユーザーフォームでコマンドボタンやラベルなどを設置したときに、コントロール上には文字列が表示されます。下記ではラベル上に「Label1」、コマンドボタン上に「CommandButton1」と表示されています。
このようなコントロールに表示される文字列を設定するには Caption
プロパティを使用します。例えばユーザーフォーム上でラベルを一度クリックしてからプロパティウィンドウの Capiton
の個所を見てください。値として「Label1」が設定されています。
ラベルに表示される文字列を変更するには Caption
の値を直接編集してください。ラベルに表示される文字列が新しい文字列に変更されます。
コマンドボタンについても同じように Caption
の値を変更しました。
このように Caption
プロパティの値を変更することで、コントロールに表示される文字列を変更することができます。
ユーザーフォームのタイトルを変更する
ユーザーフォームの Caption
プロパティの値を変更すると、ユーザーフォームのタイトルバーに表示されているタイトルを変更することができます。
ユーザーフォームのコントロールが設置されていない個所をクリックし、プロパティウィンドウ Capiton
の個所を見てください。値として「UserForm1」が設定されています。
Caption
プロパティの値を直接編集してください。ユーザーフォームのタイトルバーに表示されるタイトルの文字列が新しい文字列に変更されます。
このように Caption
プロパティの値を変更することで、ユーザーフォームのタイトルに表示される文字列を変更することができます。
表示される文字列を改行する
Caption
プロパティに文字列を代入するときに、文字列の途中で改行文字を入力して改行することができます。
プロパティウィンドウでは改行文字は入力できないので、ユーザーフォームに設置したラベルを一度クリックしたあともう一度クリックしてください。するとラベルに表示する文字列を直接編集できる状態になります。
改行する前までの文字列を入力してください。
Shift
キーを押しながら Enter
キーを押してください。改行されます。
残りの部分を入力してください。
Caption
プロパティに設定する文字列を途中で改行することができました。
ユーザーフォームを表示してみると、改行を追加した位置で改行されてラベルが表示されているのが確認できます。
VBAのプログラムの中でCaptionプロパティを設定する
プロパティウィンドウを使って Caption
プロパティの値を変更する代わりに、 VBA のコードを記述して Caption
プロパティの値を変更することもできます。
プログラムの中で Caption
プロパティを設定する場合は次の書式を使用します。
オブジェクト.Caption [= String ]
対象のオブジェクトの Caption
プロパティに対してコントールに表示する文字列の値を代入します。
簡単なサンプルで試してみます。ユーザーフォームが表示される前に発生する Initialize
イベントに対するイベントプロシージャを作成し、その中で Caption
プロパティの値を設定します。ユーザーフォームが表示される前にコントロールのプロパティの設定が行われます。
※ Initialize
イベントに対するイベントプロシージャの使い方については「ユーザーフォームを表示する直前に発生するイベント(Initializeイベント)」を参照されてください。
ユーザーフォームのコントロールが何もないところをダブルクリックしてください。
ユーザーフォームの規定のイベントである Click
イベントに対するイベントプロシージャが表示されます。
今回はユーザーフォームの Initialize
イベントに対するイベントプロシージャを使用するので、コードウィンドウで次のようにイベントプロシージャを追加で記述してください。
Private Sub UserForm_Initialize() Label1.Caption = "名前を入力してください" CommandButton1.Caption = "OK" End Sub
これでコードの記述は完了です。では実際に試してみます。「Sub/ユーザーフォームの実行」をクリックしてください。
ユーザーフォームが表示されました。追加されているラベルとコマンドボタンに表示される文字列がそれぞれ変更されていることが確認できます。
このように 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 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。