ユーザーフォーム入門
コントロールの位置・サイズ調整

Excelマクロのユーザーフォームの基礎、エクセルVBAの入門解説
公開日:2013年5月以前 最終更新日:2019-12-15

第4回.コントロールの位置・サイズ調整


ユーザーフォーム入門として基礎から解説します。
閉じるボタンだけでは何もできないので、もう少し追加します。
複数のボタンを配置したら、位置やサイズを統一したいですね。


OKボタンの追加と移動

とりあえず、OKボタンを追加しましょう。

ツールボックスが非表示になっている場合は、
「表示」→「ツールボックス」で表示させて下さい。

コマンドボタンを追加して、
オブジェクト名:btnOk
Caption:OK

として下さい。

VBA マクロ ユーザーフォーム

グリッドに合わせて移動&サイズ調整

ボタンをクリックして、そのままドラッグすることで移動できます。
また、サイズもVBA マクロ ユーザーフォームここをドラッグして変更してください。

VBA マクロ ユーザーフォーム

サイズにしろ位置にしろ、グリッド線に合わせて自動的に調整されますね。
このグリッド線の間隔や、自動的にグリッド線に合わせられているのは、
オプションで指定が可能です。

「ツール」→「オプション」→「全般」

VBA マクロ ユーザーフォーム

グリッド設定の部分で指定します。
これは説明は不要でしょう、見たままここで変更して下さい。
標準では4twipになっているかと思います。
ここの数値は、好きな間隔で良いと思います。
ただし特段変更の必要はありません、プロパティで位置やサイズは細かく指定できます。

プロパティで移動&サイズ調整

さて、どうも2つのボタンのサイズが同じかどうか、見た目では良く分かりません。
上位置も同じように見えますが、同じ位置になっているのでしょうか。

グリッドに自動的に合わせられているので、概ねは同じですが・・・
頑張ってマウスで調整しても良いのですが、もっと簡単に合わせる事が出来ます。

合わせたいボタンのHeightWidthの数値を、合わせるボタンのプロパティと同じ値に設定して下さい。
上位置も同様に、Topプロパティの数値を一致させれば良いです。

VBA マクロ ユーザーフォーム

複数のコントロールに一括で設定する場合は、
VBA マクロ ユーザーフォーム ドラッグで範囲指定して複数のコントロールを選択するか、
Ctrlを押しながら、次々にコントロールをクリックして複数のコントロールを選択します。

VBA マクロ ユーザーフォーム

そして、プロパティを変更すると選択されているコントロールが全て一括で指定可能です。

サイズ・位置調整は、このようにすれば簡単に合わせられます。
なお、
複数のコントロールを選択した状態でのプロパティ表示は、
全てのコントロールが同一値のプロパティ値のみが表示されています。
従って、プロパティが空欄の場合は値の違うコントロールがあると言う事になります。
プロパティ値を設定する事で、選択されているコントロール全てに同一値が設定され、
そのプロパティ値が表示されるようになります。


今回はここまでです。
次回は、使用者にわかりやすく伝える文字を表示するラベルを追加します。
ではまた次回お会いしましょう。




同じテーマ「ユーザーフォーム入門」の記事

第1回.ユーザーフォームを挿入

・ユーザーフォームの挿入手順 ・ユーザーフォームの表示方法 ・プロパティの変更 ・ユーザーフォームを表示して確認
第2回.フォームのプロパティ
・フォームの全プロパティ ・フォームの主要なプロパティ ・ShowModalについて
第3回.コントロールの追加(コマンドボタン)
・ツールボックス ・コマンドボタンを配置 ・プロパティの変更 ・フォームを表示して動作確認
第4回.コントロールの位置・サイズ調整
第5回.ラベルの追加
・ラベルの追加 ・ラベルのプロパティ設定 ・縦書き
第6回.テキストボックス(TextBox)の追加
・テキストボックスの追加 ・テキストボックスの主要なプロパティ ・フォームを表示して確認
第7回.テキストボックス(TextBox)の値をセルへ
・前回までに作成したユーザーフォーム ・ワークシートの用意 ・OKボタンクリック時のイベントプロシージャー作成 ・ユーザーフォームのインテリセンス
第8回.セルの値をテキストボックスへ
・Initializeイベントプロシージャーの追加 ・InitializeイベントプロシージャーのVBAコード ・各モジュール間でのデータ受け渡し方法
第9回.標準モジュールとフォーム間のデータ受け渡しⅠ
・前回までに作成したVBA ・フォーム側でアクティブセルの行数を知る方法 ・標準モジュールのグローバル変数を使う ・標準モジュールからフォームのコントロールを操作する
第10回.標準モジュールとフォーム間のデータ受け渡しⅡ
・Subプロシージャーの引数を使う ・Functionプロシージャーの戻り値を使う ・標準モジュールとフォーム間のデータ受け渡しについて
第11回.コンボボックス(ComboBox)の追加
・コンボボックスの追加 ・コンボボックスのプロパティ・メソッド ・コンボボックスで選択した値を取得 ・コンボボックスの指定リストを選択状態にする ・複数列のコンボボックス


新着記事NEW ・・・新着記事一覧を見る

TRIMRANGE関数(セル範囲をトリム:端の空白セルを除外)|エクセル入門(2024-08-30)
正規表現関数(REGEXTEST,REGEXREPLACE,REGEXEXTRACT)|エクセル入門(2024-07-02)
エクセルが起動しない、Excelが立ち上がらない|エクセル雑感(2024-04-11)
ブール型(Boolean)のis変数・フラグについて|VBA技術解説(2024-04-05)
テキストの内容によって図形を削除する|VBA技術解説(2024-04-02)
ExcelマクロVBA入門目次|エクセルの神髄(2024-03-20)
VBA10大躓きポイント(初心者が躓きやすいポイント)|VBA技術解説(2024-03-05)
テンキーのスクリーンキーボード作成|ユーザーフォーム入門(2024-02-26)
無効な前方参照か、コンパイルされていない種類への参照です。|エクセル雑感(2024-02-17)
初級脱出10問パック|VBA練習問題(2024-01-24)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.繰り返し処理(For Next)|VBA入門
3.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
4.変数宣言のDimとデータ型|VBA入門
5.RangeとCellsの使い方|VBA入門
6.ブックを閉じる・保存(Close,Save,SaveAs)|VBA入門
7.セルのクリア(Clear,ClearContents)|VBA入門
8.メッセージボックス(MsgBox関数)|VBA入門
9.条件分岐(Select Case)|VBA入門
10.ブック・シートの選択(Select,Activate)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。


このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ