教えて!ExcelVBA!

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

【ExcelVBA フォーム&コントロール】ラベルに表示する文字列を設定するにはどうすればいいの?教えて!

f:id:m_kbou:20210706085926p:plain

コマンドボタンをクリックして、ラベルに表示する文字列を設定する方法について紹介します。

 

 

構文

記述方法は以下の通りとなります。

[ラベル名].Caption = ”[文字列]”

[説明]:

[ラベル名]にはラベルのオブジェクト名を記述します。[文字列]にはラベルに表示する文字列を記述します。また、[文字列]は「”」(ダブルクォーテーション)で囲みます。内容を纏めると、「[文字列]で指定した文字列をラベルに表示して下さい。」との意味になります。(※[ラベル名].Captionは、ラベルプロパティ内にある[Caption]と同じ意味になります。)

[記述例]:

Private Sub 朝の挨拶_Click()
  あいさつ.Caption = "おはようございます。"
End Sub

[サンプルフォーム]: 

今回は以下のサンプルフォームを使用して説明します。
・フォーム名の付け方はこちらを参考にして下さい。
・ラベル名の付け方はこちらを参考にして下さい。
・コマンドボタン名の付け方はこちらを参考にして下さい。
・コマンドボタンへの表示文字の付け方はこちらを参考にして下さい。

f:id:m_kbou:20210706090213p:plain

[実行内容]: 

上記のサンプルフォーム内にある
 <朝の挨拶>ボタンをクリックすると、
          ラベル名:あいさつに「おはようございます。」
 <昼の挨拶>ボタンをクリックすると、
          ラベル名:あいさつに「こんにちは。」
 <夜の挨拶>ボタンをクリックすると、
          ラベル名:あいさつに「こんばんわ。」
を表示する方法について紹介します。

 

ラベルに表示する文字列を設定する方法

(1)VBE(VBA記述画面)を開き、予め作成したテストフォームがある事を確認します。(※VBEの開き方についてはこちらを参考にして下さい。)

f:id:m_kbou:20210706090241p:plain

(2)フォームにある<朝の挨拶>ボタン上で右クリックします。小窓が開くので「コードの表示」を選択します。

f:id:m_kbou:20210706090321p:plain

(3)「朝の挨拶_Click」イベントプロシージャが表示されます。(※これは自動的に作成される仕組みとなっている様です。)

f:id:m_kbou:20210706090525p:plain

(4)実行する処理内容を記述します。今回はボタンがクリックされた場合に、ラベル名:あいさつに”おはようございます。”を表示する内容を記述します。

Private Sub 朝の挨拶_Click()

  あいさつ.Caption = "おはようございます。"

End Sub

f:id:m_kbou:20210706090729p:plain

(5)また、その他のボタンである<昼の挨拶>や<夜の挨拶>ボタンについても、上記の(2)~(4)と同じ様に処理内容を記述します。

f:id:m_kbou:20210706091413p:plain

(6)<昼の挨拶>ボタンがクリックされた場合には、ラベル名:あいさつに”こんにちは。”を、<夜の挨拶>ボタンがクリックされた場合には、ラベル名:あいさつに”こんばんわ。”を表示する内容を記述します。

Private Sub 昼の挨拶_Click()

  あいさつ.Caption = "こんにちは。"

End Sub

Private Sub 夜の挨拶_Click()

  あいさつ.Caption = "こんばんわ。"

End Sub

f:id:m_kbou:20210706094028p:plain

(7)上部にある実行ボタン(▶)をクリックします。

f:id:m_kbou:20210706092009p:plain

(8)テストフォームが表示されます。

f:id:m_kbou:20210706092338p:plain

(9)最初に<朝の挨拶>ボタンをクリックします。

f:id:m_kbou:20210706092406p:plain

(10)ラベル名:あいさつに「おはようございます。」が表示されます。(※<朝の挨拶>ボタンに設定した上記(4)イベントプロシージャが実行された事が分かります。)

 f:id:m_kbou:20210706092456p:plain

(11)次に<昼の挨拶>ボタンをクリックします。

 f:id:m_kbou:20210706092514p:plain

(12)ラベル名:あいさつに「こんにちは。」が表示されます。(※<昼の挨拶>ボタンに設定した上記(6)イベントプロシージャが実行された事が分かります。)

f:id:m_kbou:20210706094049p:plain

(13)最後に<夜の挨拶>ボタンをクリックします。

f:id:m_kbou:20210706092541p:plain

(14)ラベル名:あいさつに「こんばんわ。」が表示されます。(※<夜の挨拶>ボタンに設定した上記(6)イベントプロシージャが実行された事が分かります。)

f:id:m_kbou:20210706092553p:plain

ラベルに表示する文字列を設定する方法についての説明は以上です。

 

サンプル

上記で説明したファイルをダウンロードできます。ご自由にお使い下さい。

drive.google.com

  

おわりに

今回はラベルに表示する文字列の設定方法について説明しました。ラベルに表示する文字列は、ラベルプロパティで設定する事も可能ですが、今回の様にVBAコードを使用して動的に設定する事も可能です。是非活用してみて下さい。