2015-02-12 67 views
0

我已經使用了一些代碼,將一些標籤放在多頁上。在放置第5個標籤後,我可以知道發生了某些事情,因爲在第5次迭代迭代之後幀中斷了,但沒有任何可見的。我看不到我的動態標籤,但我知道他們在那裏

Sub pgSSRs() 
    Dim MPg As MSForms.MultiPage 
    Dim NewLabel As MSForms.Label 
    Dim Listarray As Integer 
    Dim labelCounter As Long 

    Listarray = ThisWorkbook.Sheets("SSRs").Range("SSRs").Rows.Count 

    'MsgBox (Listarray & " SSRs") 
    'Top = 50 

    For labelCounter = 1 To Listarray 
     Set NewLabel = UserForm1.Controls.Add("forms.label.1", "Test" & labelCounter, True) 
     With NewLabel 
      .Visible = True 
      .Caption = "Test" & labelCounter 
      .Height = 30 
      .Left = 700 
      .Width = 50 
      .Top = Top + 10 * labelCounter 
      MsgBox (.Top & " iteration") 
     End With 
    Next 

    'MsgBox ("this is the SSR Page!") 

End Sub 

任何人都可以提供幫助,幫助我看到這些標籤?最後,我要爲每個標籤從表中單元格讀取,但簡單的東西有問題......

回答

0

您需要啓用標籤:

.Enabled = True

那麼你應該在最後顯示它?

UserForm1.Show

0

這是很清楚你想要做什麼,但這個工作對我來說(它添加標籤多頁控件的第一頁)

您必須將標籤直接添加到控件包含的「頁面」,而不是將它們添加到用戶窗體本身的「根」級別。

Sub pgSSRs() 

    Dim MPg As MSForms.MultiPage 
    Dim NewLabel As MSForms.Label 
    Dim Listarray As Integer 
    Dim labelCounter As Long 

    Listarray = 5 'ThisWorkbook.Sheets("SSRs").Range("SSRs").Rows.Count 

    Set MPg = UserForm1.MultiPage1 

    For labelCounter = 1 To Listarray 
     'add labels to first page 
     Set NewLabel = MPg.Pages(0).Controls.Add("forms.label.1", "Test" & labelCounter, True) 
     With NewLabel 
      .Visible = True 
      .Caption = "Test" & labelCounter 
      .Height = 30 
      .Left = 10 
      .Width = 50 
      .Top = 20 + (10 * labelCounter) 
      Debug.Print .Top & " iteration" 
     End With 
    Next 

    UserForm1.Show 

    'MsgBox ("this is the SSR Page!") 

End Sub 
+0

謝謝你的回覆。我最終停止嘗試使用多頁並轉到多個用戶表單。直到我意識到新標籤需要指向框架而不是用戶表單時,我仍然遇到了麻煩。謝謝。 – hart143 2015-02-18 15:58:26

相關問題