VBA按钮从模板创建新工作表

时间:2017-03-07 17:36:48

标签: excel vba excel-vba templates

我是Excel的新手,所以我希望这是有道理的。 在下面的代码中,我有一个包含按钮的用户表单,单击它后会创建一个新工作表,并重命名与表单上填写的文本字段对应的工作表。我的工作簿中有一个模板表,我想知道是否有任何方法可以让用户表单中新创建的表单遵循相同的模板。我也明白这是创建工作表的精确副本的代码:

Dim i as byte
for i=1 to 5
Sheets("TEMPLATE").Copy after:=sheets("TEMPLATE")
Next I

但我不知道如何以及是否可以将其纳入我的代码:

If Me.cbStores.Value = "Northern / Northmart" Then
Dim sh As Worksheet
Set sh = Sheets.Add
sh.Name = AddEmployeeUF.txtFirstname.Text + AddEmployeeUF.txtMiddleinitial.Text + AddEmployeeUF.txtLastname.Text + "Template"
ws.Hyperlinks.Add Anchor:=ws.Range("F" & LastRow), Address:="", SubAddress:=sh.Name & "!A1", TextToDisplay:="View"
End If

一切都有帮助!感谢。

1 个答案:

答案 0 :(得分:2)

遗憾的是,Sheets.Copy方法没有返回对新创建的工作表的引用。但是,您可以轻松地将其作为activeSheet访问。

Dim i as byte, sh as worksheet
for i=1 to 5
    Sheets("TEMPLATE").Copy after:=sheets("TEMPLATE")
    set sh = activeSheet
    ' Do whatever you have to do with the new sheet
    sh.Name = AddEmployeeUF.txtFirstname.Text + AddEmployeeUF.txtMiddleinitial.Text + AddEmployeeUF.txtLastname.Text + "Template"
    ws.Hyperlinks.Add Anchor:=ws.Range("F" & LastRow), Address:="", SubAddress:=sh.Name & "!A1", TextToDisplay:="View"
Next I