尝试将工作表添加到工作簿时,维度无效

时间:2017-10-24 17:03:46

标签: excel vba excel-vba

我正在处理Workbook_A中的VBA脚本,该脚本创建了一系列单独的工作簿(Workbook_B,Workbook_C)。该脚本将创建这些单独的工作簿,根据Workbook_A中存在的变量命名它们(在这种情况下,这些变量是Workbook_B等),通过不同的模拟运行将模拟结果写入工作表,并保存它们。

到目前为止,我可以打开/创建新工作簿并正确保存它们。在创建新工作表时,我遇到了问题。以下是代码的相关部分:

...初始化其他变量......

Dim workbookname As String
Dim wksht1 As Worksheet

......不相关的代码......

    Set wkbk = Workbooks.Add
    wkbk.title = savedVeh
    workbookname = savedVeh & "full"
    wkbk.SaveAs fileName:=workbookname, FileFormat:=56

    Workbook_A.Activate

    ' Starting process of creating sheets for different results
    Set wksht1 = Workbooks(workbookname).Worksheets.Add '***
    wksht1.Name = "const_speeds"
    ffastsim_validation.Activate

我在评论的行中收到错误。错误说明:

"指定的维度对当前图表类型无效。"

这是我第一次玩VBA - 我只是犯了语法错误?或者wksht1的尺寸不正确,因为我试图执行的操作?我很感激任何帮助,解释这里发生了什么。

1 个答案:

答案 0 :(得分:1)

你这样做:

wkbk.SaveAs fileName:=workbookname, FileFormat:=56

然后:

Set wksht1 = Workbooks(workbookname).Worksheets.Add

如果我理解正确,那么您尝试重新取消引用的Workbook对象将是wkbk对象。那么为什么还要再次从Workbooks集合中解除引用呢? 你已经拥有它

Set wksht1 = wkbk.Worksheets.Add