- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ユーザフォームに同フレームを複数配置し出力したい)
ユーザフォームに同フレームを複数配置し出力したい
このQ&Aのポイント
- VBAを使用して、ユーザフォームに同じフレームを複数配置し、出力したいと思っています。
- 複数のレコードを表示するため、可変な数のフレームを配置する必要がありますが、手動で配置するのは手間がかかります。
- そこで、既存のフレームを複数コピーし、Userform内に配置する方法を知りたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
以下のような感じでできると思いますが、新しいFrame名などは貼り付け後にコントロールの名前をすべて取得して最新のものを取得して指定するなど手間が必要です。 Me.Frame1.SetFocus Me.Copy Me.Paste With Me.Controls("Frame2") '新しいFrame名 .Caption = "タイトル" .Left = Me.Frame1.Left + 150 .Top = Me.Frame1.Top End With Me.Controls("TextBox3").Value = "333" '新しいTestBox名
お礼
ありがとうございました。フレームの中のテキストボックスやラベル等は、コピーしたフレームでは、シーケンシャルに番号がついていき、その名前でアクセスうまくいきました。 (新たなフレーム名だけ変えて、中のテキストボックスや、ラベルの番号が変わらなければもっとよかったのですが、現状の仕様では無理ですよね) ただ、10数個のフレームで縦長となったユーザフォームに対し、先頭のヘッダ部分だけ残し、スクロールして参照できる方法に躓いています。 とりあえず、質問の目的は達成できました。ありがとうございました。
補足
回答ありがとうございます。 今週より試してみていますが、コピーして新しいフレームを作成した後のアクセスがうまくいきません。 もう少し、トライしてみます。ヒントをありがとうございました。