2012-05-30 16 views
5

我在用戶窗體中有一個多頁面。在運行期間,用戶可以隨時選擇添加x頁數。每個頁面的元素將是相同的。我想知道是否有方法來複制這些元素,或者我是否需要爲每個新頁面重新創建這些相同的元素?如果是這樣,我該如何在頁面上指定要放置元素的位置?使用Excel中的VBA將元素從一個頁面複製到多頁中的另一個

enter image description here

+0

您可以通過複製粘貼或從頭創建來複制它們 –

回答

7

訣竅是把所有控制在一個框架中的第一頁,然後剩下變得容易:)

此代碼將創建Page2之後,從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 

快照

enter image description here

+0

天才!謝謝! – Ehudz

+0

當我運行上面的代碼時,我得到一個「Run-tim e錯誤'-2147417949(80010108)':對象從客戶端連接時調用的自動化錯誤。「 – Ehudz

+0

哪條線給出錯誤?我只是再次測試它,它的工作原理。 –

0

「運行時錯誤‘-2147417949(80010108)’可以通過具有框架別處窗體上而引起的。請嘗試移除任何其它幀並重新運行

相關問題