我正在处理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的尺寸不正确,因为我试图执行的操作?我很感激任何帮助,解释这里发生了什么。
答案 0 :(得分:1)
你这样做:
wkbk.SaveAs fileName:=workbookname, FileFormat:=56
然后:
Set wksht1 = Workbooks(workbookname).Worksheets.Add
如果我理解正确,那么您尝试重新取消引用的Workbook
对象将是wkbk
对象。那么为什么还要再次从Workbooks
集合中解除引用呢? 你已经拥有它:
Set wksht1 = wkbk.Worksheets.Add