2014-01-10 26 views
0

我在添加名称的多个工作表时遇到问题。一旦我创建了文件,保存它并开始添加工作表就可以了,但是当它试图添加第三个工作表(名为“DPG”)时,它可以正常工作但崩溃(自动化错误/异常发生 - 需要重新启动Excel等)。下面是有问题的代码部分:添加工作表时出现自动化错误

'CREATE DATA OUTPUT FILE 
Set NewBook = Workbooks.Add 
    With NewBook 
     .Title = "DATA OUTPUT" 
     .Subject = "OUTPUT" 
     .SaveAs Filename:="H:\REACKS\DATA OUTPUT.xls" 
    End With 

Worksheets.Add().Name = "ALL" 
Worksheets.Add().Name = "CORP" 
Worksheets.Add().Name = "DPG" 
Worksheets.Add().Name = "ESG" 
Worksheets.Add().Name = "FSG" 
Worksheets.Add().Name = "KEN" 

任何帮助非常感谢!

+0

我无法复制这个,它在我的机器上工作正常。如果您只是在不设置名称的情况下执行Worksheets.Add(),它会中断吗? –

回答

0

我解决了这个问题!即使它是在文件名中指定的,它也不会将其正确保存为.xls。我添加了一个设置为.xls的文件格式定义。

.SaveAs Filename:="H:\REACKS\DATA OUTPUT.xls", FileFormat:=xlExcel8 

这似乎是伎俩!

0

添加此行NewBook.Activate前第一Worksheets.Add()...

编辑: NVM,没有工作。相反,试试这个:

Dim NewBook As Workbook 

Set NewBook = Workbooks.Add 
With NewBook 
    .Title = "DATA OUTPUT" 
    .Subject = "OUTPUT" 
    .SaveAs Filename:="C:\Documents and Settings\rfavron\Bureau\Bernard\DATA OUTPUT.xls" 
    .Worksheets.Add().Name = "ALL" 
    .Worksheets.Add().Name = "CORP" 
    .Worksheets.Add().Name = "DPG" 
    .Worksheets.Add().Name = "ESG" 
    .Worksheets.Add().Name = "FSG" 
    .Worksheets.Add().Name = "KEN" 
End With 
+0

感谢您的帮助,但它没有奏效。它仍然在第三张工作表上添加崩溃。 – scs