こんにちは、なかぜんです。Accessでフォームを作っていると、「ボタンの位置がバラバラ…」「テキストボックスの幅が微妙に違う…」なんてこと、ありませんか?
そんなときに便利なのが、フォームのコントロールを一括でそろえるレイアウト調整のテクニック。見た目が整うと、使いやすさがぐっとアップし、業務でも「おっ!」と思われる仕上がりになります。
今回は、初心者の方でもできる方法から、ちょっとしたVBAの応用テクまで、わかりやすくご紹介していきます!
基本のテク:Accessの標準機能で一括調整
■ 複数選択して配置をそろえる
Accessのフォームデザインビューでは、Shiftキーを押しながらコントロールをクリックして複数選択できます。その状態で「配置」タブから、以下のような調整が可能です。
- 左揃え・右揃え・中央揃え
- 上下間隔を等しく
- サイズを揃える(幅・高さ)
使い方:
- フォームをデザインビューで開く
- Shiftを押しながら複数のコントロールを選択
- 「配置」タブの「サイズ/配置」から調整
■ 画面イメージ
(ここに「Access デザインビューで複数コントロールを選択している画像」を挿入)
ちょっと便利な裏ワザ:レイアウトグリッドを活用しよう
Accessの「レイアウト」機能を使うと、複数のコントロールを1つのグリッドにまとめて操作できます。
- 対象のコントロールを選択
- 右クリック → 「レイアウト」→ 「スタック」または「表形式」
- ドラッグでまとめて移動やサイズ変更が可能に!
コントロールを並べ替えたいときや、整列がうまくいかないときには、このレイアウトグリッドがとても便利です。
中級編:VBAでレイアウト調整を自動化
実は、VBAを使えばフォーム上のコントロールの配置やサイズを一括で変更することもできます。以下に簡単なサンプルコードをご紹介します。
■ コード例:すべてのテキストボックスを横に並べる
Private Sub AdjustLayout()
Dim ctrl As Control
Dim posX As Integer
posX = 500
For Each ctrl In Me.Controls
If ctrl.ControlType = acTextBox Then
ctrl.Left = posX
ctrl.Top = 1000
posX = posX + 2000
End If
Next ctrl
End Sub
解説:
Me.Controls
でフォーム上のすべてのコントロールを対象にacTextBox
タイプだけを対象に- 横方向(Left)に2000ずつずらして配置しています
実行は、フォームにボタンを設置してOnClick
イベントにこのコードを設定すればOKです。
注意点:うっかりミスを防ごう
- 配置前にコントロールの選択を間違えると、別の場所がずれてしまう
- VBAで座標をいじるときは、単位が「twip(ツイップ)」であることに注意(1cm ≒ 567 twip)
- レイアウトをグリッド化すると自由に動かせなくなることがある(解除方法:右クリック → レイアウト解除)
応用ポイント:フォーム全体のUI改善へ
レイアウトを整えるだけでなく、以下のような工夫でさらに使いやすいフォームに仕上げることができます。
- ラベルもまとめて整列:テキストボックスとセットで調整すると見やすく!
- タブオーダーを整える:ユーザーがTabキーで入力しやすくなります
- テーマカラーを統一:視認性がアップします
まとめ:フォームが整うと使いやすさが段違い!
今回は、Accessのフォームでコントロールの配置を一括で調整するテクをご紹介しました。
- 標準機能での整列・サイズ揃え
- レイアウトグリッドの活用
- VBAでの自動配置
ちょっとした工夫で、見た目も使い勝手も向上します。まずは1つのフォームで試して、あなたの業務に合わせた最適なレイアウトを作ってみましょう!
それでは、なかぜんでした!
楽天ブックス
¥2,178 (2025/05/04 18:54時点 | 楽天市場調べ)
