本記事は、フォームコントロールのプロパティ値の設定方法についてご説明します。
方法①「コントロールの書式設定」ダイアログで行う
一つ目の方法は「コントロールの書式設定」ダイアログで行います。
「コントロールの書式設定」ダイアログでは、フォームコントロールの高さや幅といったサイズや色などを設定することができます。
方法②「VBAのコード」で行う
二つ目の方法は、VBAのコードで行います。
一つ目の方法で説明した「コントロールの書式設定」には無いプロパティ値の設定を行うにはVBAのコード上で行います。
なお、VBAのコードでフォームコントロールのプロパティの設定や変更を行うには、次のようにコードを記述します。
【例】フォームコントロールのコンボボックス「cbx_sample1」のleftプロパティに、50を設定する
'フォームコントロールのコンボボックス「cbx_sample1」のleftプロパティに、50を設定する Worksheets("sheet1").Shapes("cbx_sample1").Left = 50
注目するポイントは、Shapesオブジェクトにフォームコントロールのコンボボックスの名前である「cbx_sample1」を記述しているところです。
Shapesオブジェクトに名前を記述することで、フォームコントロールのプロパティ値の設定ができるようになります。
ちなみに、ご紹介したフォームコントロールのプロパティ値に設定するコードの書き方は、ActiveXコントロールとは異なります。
ActiveXコントロールとフォームコントロールそれぞれのプロパティ値の設定の書き方をそれぞれ覚えておくとよいですね。
【動画】VBAのコードでフォームコントロールのプロパティ値を設定する参考動画
ツイート内の動画では、VBAのコードでフォームコントロールのコンボボックス「cbx_sample1」のleftプロパティに50を設定しています。
ActiveXコントロールのプロパティ(やメソッド)の扱いに関する情報は多く見つかるのに対してフォームコントロールはあまり見つからない気が…😅
例えばコンボボックスのフォームコントロール「cbx_sample1」のleftプロパティに50を設定
Worksheets("sheet1").Shapes("cbx_sample1").Left = 50#VBA pic.twitter.com/dINTSKQGNN
— まさ@Excel、VBA、マクロ(経験年数16年) (@masamasa9785) June 17, 2021
最後に
本記事では、フォームコントロールのプロパティ値の設定方法についてご説明しました。
フォームコントロールのプロパティ値の設定は「コントロールの書式設定」ダイアログと「VBAのコード」で行います。
「コントロールの書式設定」ダイアログでは、設定できるプロパティ値の項目が少ないため、VBAのコードでプロパティ値の設定を行う必要が出てくるかと思います。
VBAのコードで行う場合はShapesオブジェクトにフォームコントロール名記述して使う、ということを覚えておいてくださいね。
プログラミングのスキルを習得するなら
プログラミングのスキルを習得したい、今のスキルをもっと高めたい、そう考えているなら「プログラミングスクール」がおすすめです。
プログラミングのスキルの基礎を身につけるなら「TechAcademy」で1週間の無料体験があるので、これで「プログラミングの基礎」を学ぶのにおすすめですよ。