2012-01-17 78 views
1

如何使用Worksheet.Add函数从外部工作簿添加工作表?使用VBA从外部工作簿添加工作表

当我尝试从外部工作簿中添加一个工作表中我得到一个错误:

Method 'Add' of object 'Sheets' failed on the third line`

这里是我的代码:

Application.ScreenUpdating = False 
Dim ws As Worksheet 
Set ws = Worksheets.Add(After:=Sheet1, Count:=2,Type:="\\SharedDrive\Worksheet\Student.xltm") 
Application.ScreenUpdating = True 
+0

您是否看过它是否适用于本地文件,而不是您在示例中使用的共享? – jon 2012-01-17 19:24:14

+0

这与您最后一个问题几乎完全相同。 – Reafidy 2012-01-17 20:53:59

回答

3

“类型:=”必须是一个模板如果您从其他文件插入。

语法

expression.Add(Before, After, Count, Type) 

类型是Variant类型,可选。指定工作表类型。可以是以下XlSheetType常量之一:xlWorksheet,xlChart,xlExcel4MacroSheet或xlExcel4IntlMacroSheet。如果您要基于现有模板插入工作表,请指定模板的路径。缺省值是xlWorksheet。

例如

Set ws = Worksheets.Add(After:=Sheet1, Count:=2, _ 
Type:="\\SharedDrive\Worksheet\Student.xlt") 

Set ws = Worksheets.Add(After:=Sheet1, Count:=2,_ 
Type:="\\SharedDrive\Worksheet\Student.xltm") 

Set ws = Worksheets.Add(After:=Sheet1, Count:=2,_ 
Type:="\\SharedDrive\Worksheet\Student.xltx") 

XLT - Excel 2003中模板

XLTX - 的Excel 2007/2010模板

xltm - Excel 2007/2010启用宏的模板

+0

我更新了类型,但仍然得到相同的错误。我是否需要在某处提到表单名称(我想从模板插入表单)?我试图在启用宏的工作簿中插入此工作表(我尝试将模板另存为.xltm,但仍得到相同的错误)。我在这里错过了什么吗?我上面更新了我的代码。 – user793468 2012-01-17 21:19:16

+1

让我们一次一个步骤:) 1)创建一个新模板并将其保存在本地驱动器中。用该文件进行测试。它工作吗? 2)如果确实如此,则将相同的模板复制到共享驱动器并再次测试。它工作吗? 我们将从那里拿走:) – 2012-01-17 21:26:23

相关问题