2016-03-01 88 views
0

我正在尝试使用vb脚本创建条形图。 我的剧本是在excel中创建条形图

Set objExcel = CreateObject("Excel.Application") 
Set objReadWorkbook = objExcel.Workbooks.Open("D:\Excel_Macro_Proj\Create_Barchart.xlsx") 
Set oExcelReadWorkSheet = objReadWorkbook.Worksheets(1) 
objReadWorkbook.Sheets("Sheet1").Activate 
objExcel.Visible = True 

Sub GraphCreate() 
    ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select 
    ActiveSheet.Range("D11:D14,F11:F14,H11:H14") 
End Sub 
GraphCreate 
objReadWorkbook.SaveAs("D:\Excel_Macro_Proj\barchart_create1.xls"),-4143 
objExcel.Quit 

当我运行上面的宏我得到一个错误, “对象所需ActiveSheet”。我不明白为什么会出现这个错误。任何人请帮助我。

回答

0

VBScript中不能识别直接ActiveSheet对象,它Excel.Application下可用object..in这种情况下objExcel.ActiveSheetobjExcel.ActiveChart

试试这个代码

Set objExcel = CreateObject("Excel.Application") 
Set objReadWorkbook = objExcel.Workbooks.Open("D:\Excel_Macro_Proj\Create_Barchart.xlsx") 
Set oExcelReadWorkSheet = objReadWorkbook.Worksheets(1) 
objReadWorkbook.Sheets("Sheet1").Activate 
objExcel.Visible = True 

Sub GraphCreate() 
    objExcel.ActiveSheet.Shapes.AddChart2(201, xlColumnClustered).Select 
    set xlRange = objExcel.ActiveSheet.Range("D11:D14,F11:F14,H11:H14") 
    objExcel.ActiveChart.SetSourceData(xlRange) 
End Sub 

GraphCreate 
objReadWorkbook.SaveAs("D:\Excel_Macro_Proj\barchart_create1.xls"),-4143 
objExcel.Quit 
+0

由于苏西洛,它完美。有什么帮助(任何网站或文件)我们如何将记录的Excel VBA代码转换为VBS代码 – surendra