フォームを開くたびにサイズがバラバラになるよりも、ボタンなどのコントロールの位置に合わせて、いつも同じ方がソフトとしてはカッコイイかと思いますので、DoCmd.MoveSizeを使い設定します。
VBAを入力する場所は、フォームを開く時のForm_Openイベントか、読み込み時のForm_Loadイベントになります。
■設定前のフォーム
下フォームのようにボタン位置に合わせて、フォームサイズをドラッグしサイズを調整します。
この状態でフォームを閉じます。
再度フォームを開き直すと、下のように閉じた時とは違うサイズになってしまいます。
■ Access VBA 実行コード
下画像のようにForm_Openイベント内に設定するVBAを作成しました。
Me!コマンド0.Left + Me!コマンド0.Widthで、フォーム左端からボタンの右端の幅を取得しています。
Me!コマンド0.Top + Me!コマンド0.Heightで、フォーム上端からボタンの下端の高さを取得しています。
DoCmd.MoveSizeで、フォームサイズを設定します。
もし、フォームの表示位置も設定したい場合は、DoCmd.MoveSize 500,1000, lw, lhのように、1番目にLEFT位置を2番目にTOP位置を指定します。
Option Compare Database
Private Sub Form_Open(Cancel As Integer)
Dim lw As Long
Dim lh As Long
lw = Me!コマンド0.Left + Me!コマンド0.Width + 500
lh = Me!コマンド0.Top + Me!コマンド0.Height + 1000
DoCmd.MoveSize , , lw, lh
End Sub