2014-01-13 196 views
-1

我在Frame1中有一個文本框TB1。在某些情況下,TB1應該在Frame1中可見,並且在某些情況下TB1應該在另一個Frame2中可見。 這可能嗎?如果是,那麼如何?樣本編碼將不勝感激:)將文本框從一個框架移動到另一個框架中的VBA代碼?

+0

'是否有可能? '是的,這是可能的。 –

+1

你能幫我怎麼做嗎? – user2775260

+0

當然。 :)但是,首先你能告訴我你試過了什麼,你覺得應該是代碼的邏輯嗎?如果您收到任何錯誤消息,請分享錯誤號,錯誤消息和提供錯誤的行。 –

回答

0

您在設計時添加到框架的控件無法以編程方式刪除。只有運行時創建的可以在運行時添加或刪除。

但是,如果你想創建一個文本框,動態,和幀之間運動,這裏是如何做到這一點:

1在Excel中創建VB6界面的新形式,並在其上添加兩個幀像這樣:

Step 1

2-添加兩個按鈕如上所示

3-代碼爲按鈕1和2非常相似,在這裏它是:

Private Sub CommandButton1_Click() 

    On Error Resume Next 
     Frame2.Controls.Remove ("TB2") 'Remove if TextBox already exist elsewhere 
    On Error GoTo 0 

    Set txt = Frame1.Controls.Add("Forms.TextBox.1", "TB2", True) 

    txt.Left = 20 
    txt.Top = 20 



End Sub 

Private Sub CommandButton2_Click() 


    On Error Resume Next 
     Frame1.Controls.Remove ("TB2") 
    On Error GoTo 0 


    Set txt = Frame2.Controls.Add("Forms.TextBox.1", "TB2", True) 

    txt.Left = 20 
    txt.Top = 20 

End Sub 

現在,當你運行的形式,你點擊按鈕1和文本在幀1 點擊按鈕2創建文本框從幀1移除並創造了幀2

enter image description here

+0

非常感謝艾哈邁德。它的工作..但是我不得不修改代碼因爲最初一個文本框應該在一個框架..此後,我需要移動。感謝提示:) – user2775260

+0

我有一個問題。在這種形式下最初沒有文本框。一旦我們點擊命令按鈕,那麼只有一個文本框出現在框架中。在Frame1中已經有一個文本框,並且我們想要移動到frame2的特定文本框。我應修改哪部分代碼 – user2775260

相關問題