'フォームの表示領域の高さを増やす Me.ScrollHeight = Me.Height + 50
'フォームの表示領域の横幅を増やす Me.ScrollWidth = Me.Width + 50
「ScrollHeight」プロパティはフォームの表示領域の高さの設定
「ScrollWidth」プロパティはフォームの表示領域の横幅の設定
これら2つの数値をフォームのサイズより大きな数値に設定することで、スクロールにより作成したフォームのサイズ以上の表示領域を扱うことが出来るようになります
なお、この設定を行っても表示領域自体は拡張されますが、スクロールバーは表示されません
スクロールバーの表示設定も合わせて行っておきます
(表示設定の記事はこちらから)
これらのプロパティをフォームサイズを超える数値にすることで、画面に収まりきらないコントロールを配置することが出来ます
基本的にはデザイン画面のプロパティウィンドウで設定を行います
デザイン画面で設定すれば、その画面でスクロールさせて実際の動きを確認できるのでこちらで行ってください
コード中に設定するには、例コードのように数値を設定する形になります
表示外という領域を作成する注意点
この表示領域の拡大に関しては初期表示ではどこに何があるかわからない状態です
この状態ではユーザーにとっては少しわかりづらいフォームになってしまうので、このプロパティを使用する場合は、デザインを特に意識してください
画面スクロールすることで、他のコントロールがあることや目的のコントロールがどの位置にあるかを分かり易くするデザインは工夫が必要です
そして、VBAの弱点の1つでもありますが、マウスのホイールは使用できません
なので、マウス操作になれていればスクロールバーの上でホイールで移動させようとするのは無意識の操作です
これが行えないので、少し使っている人にはわずらわしく感じる可能性がありますので正直あまり多用しないほうがユーザーにはやさしいかなと思います