2016-03-01 75 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