2012-01-17 149 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