Excel VBA代码在userform中将文本框从一个帧移动到另一个帧?

Excel VBA代码在userform中将文本框从一个帧移动到另一个帧?,excel,vba,Excel,Vba,我在Frame1中有一个文本框TB1。在某些条件下,TB1应在第1帧中可见,在某些条件下,TB1应在另一帧第2帧中可见。 可能吗?如果是的话,怎么办?示例编码将得到赞赏:)在设计期间添加到帧中的控件不能通过编程方式删除。只有在运行时创建的才能在运行时添加或删除 但是,如果要动态创建文本框,并在帧之间移动它,下面介绍如何操作: 1-在Excel VB6界面中创建一个新表单,并在其上添加两个框架,如下所示: 2-添加两个按钮,如上所示 3-按钮1和2的代码非常相似,如下所示: Private Su

我在Frame1中有一个文本框TB1。在某些条件下,TB1应在第1帧中可见,在某些条件下,TB1应在另一帧第2帧中可见。
可能吗?如果是的话,怎么办?示例编码将得到赞赏:)

在设计期间添加到帧中的控件不能通过编程方式删除。只有在运行时创建的才能在运行时添加或删除

但是,如果要动态创建文本框,并在帧之间移动它,下面介绍如何操作:

1-在Excel VB6界面中创建一个新表单,并在其上添加两个框架,如下所示:

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,文本框在Frame1中创建 单击按钮2,文本框将从frame1中删除并在frame2中创建


可能吗是的,这是可能的。你能帮我怎么做吗?当然可以。:)但是首先你能告诉我你尝试了什么,你觉得代码的逻辑应该是什么吗?如果您收到任何错误消息,请共享错误号、错误消息和给出错误的行。最初,Frame1有一个带有标题a和文本框TB1的标签1。现在有一个命令按钮1。如果单击Commandbutton,TB1将从Frame1移动到Frame2。我不知道它的编码寻求帮助非常感谢艾哈迈德。它起作用了。。但是我必须修改代码,因为一开始文本框应该在一个框架中,然后我需要移动。谢谢你的提示:)我有一个问题。在这个表单中,最初没有文本框。单击命令按钮后,框架中只显示一个文本框。在Frame1中已经有一个文本框,而我们想移到frame2中的那个特定文本框怎么样。我应该修改代码的哪一部分?这不是移动,而是擦除和复制,它显然不会移动附加到控件的任何代码。