Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 通过按下按钮在用户窗体中复制问题_Vba_Excel - Fatal编程技术网

Vba 通过按下按钮在用户窗体中复制问题

Vba 通过按下按钮在用户窗体中复制问题,vba,excel,Vba,Excel,我已经通过Execl VBA创建了一个userform,在这个userform上我当前有一个框架(ID:Frame1),在这个框架内我有一个问题: 1) How many dogs do you have 但问题是,我想在问题下方有一个按钮(仍在框架内),允许我复制框架和现有框架下方框架内的问题。我到处都在搜索关于此的信息,似乎无法从任何地方获得它。可以在此处找到创建控件的一种方法: 将新框架控件添加到Userform: Dim newFrame As Frame Set newFrame

我已经通过Execl VBA创建了一个userform,在这个userform上我当前有一个框架(ID:Frame1),在这个框架内我有一个问题:

 1) How many dogs do you have

但问题是,我想在问题下方有一个按钮(仍在框架内),允许我复制框架和现有框架下方框架内的问题。我到处都在搜索关于此的信息,似乎无法从任何地方获得它。

可以在此处找到创建控件的一种方法:

将新框架控件添加到Userform:

Dim newFrame As Frame
Set newFrame = Me.Controls.Add("Forms.Frame.1")
'set frame position, caption
newFrame.Caption = "<My next question>"
newFrame.Left = 10
newFrame.Top = 10
'set size the same as Frame1
newFrame.Width = Frame1.Width
newFrame.Height = Frame1.Height
Dim newFrame作为帧
Set newFrame=Me.Controls.Add(“Forms.Frame.1”)
'设置帧位置、标题
newFrame.Caption=“”
newFrame.Left=10
newFrame.Top=10
'将大小设置为与Frame1相同
newFrame.Width=Frame1.Width
newFrame.Height=Frame1.Height

听起来您可能想创建一个新框架,将其值设置为与现有框架相同的值,然后更改其位置。有一种方法可以使用VBA在表单上重新创建对象,但我不相信您能够创建具有相同ID信息的对象。在这种情况下,对该信息的所有引用仍将调用原始信息。为什么需要重新创建对象/问题?我只是想为表单用户节省时间!我也不想手动复制我所有的问题,因为这看起来非常业余。重复时,Id不需要相同!