在Excel中使用VBA将多个元素从一个页面复制到另一个多页面

我有一个用户窗体中的多页面。 在运行期间,用户可以随时select添加x个页面。 每个页面的元素将是相同的。 我想知道是否有一种方法来复制这些元素,或者我是否需要为每个新页面重新创build这些相同的元素? 如果是这样,我该如何在页面上指定要放置元素的位置?

在这里输入图像说明

诀窍是把所有的控件放在第一页的框架中,其余的就变得简单了:)

这个代码将在创buildPage2并将其alignment之后,将控件从Page1复制到Page2

 Option Explicit Private Sub CommandButton2_Click() Dim l As Double, r As Double Dim ctl As Control MultiPage1.Pages.Add MultiPage1.Pages(0).Controls.Copy MultiPage1.Pages(1).Paste For Each ctl In MultiPage1.Pages(0).Controls If TypeOf ctl Is MSForms.Frame Then l = ctl.Left r = ctl.Top Exit For End If Next For Each ctl In MultiPage1.Pages(1).Controls If TypeOf ctl Is MSForms.Frame Then ctl.Left = l ctl.Top = r Exit For End If Next End Sub 

快照

在这里输入图像说明

“运行时错误”-2147417949(80010108)可能是由窗体上的其他位置造成的,请尝试删除其他任何帧并重新运行。