ユーザフォームに同フレームを複数配置し出力したい
VBAの質問になります。
Userform1にフレームを配置し、その中にテキストボックスや、ラベル、別の小フレーム等を配置したフレームFrame1を作りました。
そのFrame1を1つのレコードとして、Userform1の中に複数個配置していき各Frame1にデータをセットし、Userform1の出力を、複数個のFrame1フォーマットで整理してデータを出力したいと思っています。
出力レコード数は可変のため、VBEにて当初からFrame1を個数分定義しておくことはできません。(VBEに初めから配置するとしても画面の大きさ上3つが限度です)
そのため、
Set addrec1 = Userform1.Controls.Add("Forms.Frame.1", "Frame" & i + 1, True)
でUserform1にフレームを追加してみましたが、新規のフレームとなりFrame1形式では表示されませんでした。
そのため、
set addrec1 = frame1でframe1がコピーできると思い、
複数記載したところ、Frame1は空いている位置に1つづつ表示されるものの、コピーはされず、最後のframe1しか表示されません。
すべてのフレームについて、自分でロジックで作ってやればできると思いますが、位置指定やフレームの中のテキストボックス/ラベル/小フレーム等の配置を行うには、余りにも手間暇がかかりすぎます。
結局は、折角作ったVBEのFrame1フォーマットがあるので、それを複数個配置(Frame2,Frame3・・・)したUserform1を作りたいと思っています。
Userform1に、既存のFrame1フォーマットのフレームを複数コピーし、配置/アクセスする方法をご存じの方がいれば教えてください。
ご教授のほどよろしくお願いいたします。
お礼
うまくいきました。ありがとうございました。