VBAのコードからユーザフォームを作成するとるにはフォームモジュールの追加を行い、Designerプロパティーなどを活用することになります。 サンプルでは追加したユーザフォームにコマンドボタンの配置、位置決め、イベントプロシージャ(コマンドボタンのクリックイベント)の作成を行います。 ※実行にはVisual Basic For Applications Extensibility を参照設定してください。 Sub MyProc() Dim Frm As VBIDE.VBComponent Dim Ctrl As Control 'ユーザフォームを追加 Set Frm = ThisWorkbook.VBProject.VBComponents.Add(vbext_ct_MSForm) With Frm 'フォームにコマンドボタンを配置 Set Ctrl = .Designer.Control