【问题标题】:Adding a worksheet from an external workbook using VBA使用 VBA 从外部工作簿添加工作表
【发布时间】:2012-01-17 19:21:08
【问题描述】:

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

当我尝试从外部工作簿添加工作表时出现错误:

对象'Sheets'的方法'Add'在第三行失败`

这是我的代码:

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

【问题讨论】:

  • 您是否查看过它是否适用于本地文件,而不是您在示例中使用的共享?
  • 这几乎和你上一个问题一样。

标签: excel add worksheet vba


【解决方案1】:

如果您从另一个文件插入,“Type:=”必须是模板。

语法是

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

在哪里

类型是可选变体。指定图纸类型。可以是以下 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 启用宏的模板

【讨论】:

  • 我更新了类型,但仍然出现同样的错误。我是否需要在某处提及工作表名称(我想从模板插入的工作表)?我正在尝试将此工作表插入到启用宏的工作簿中(我尝试将模板另存为 .xltm 但仍然出现相同的错误)。我在这里错过了什么吗?我已经更新了上面的代码。
  • 让我们一步一步来:) 1) 创建一个新模板并将其保存在本地驱动器中。用那个文件测试它。它有效吗? 2)如果确实如此,则将相同的模板复制到共享驱动器并再次测试。它有效吗?我们将从那里拿走它:)
猜你喜欢
  • 1970-01-01
  • 2018-01-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多