2015-07-13 35 views
0

我想在Excel中創建3D餅圖。現在,我有創建它並設置源數據的代碼,除了我的問題之外,我希望在特定工作表上使用圖表,並且要調整其大小並重新定位它。我嘗試過從VBA示例到VBScript示例的網上找到的各種選項,但沒有任何效果。我的VBScript代碼如下:在Excel中設置圖紙位置,調整圖表大小和重新定位圖表

Set objExcel = CreateObject("Excel.Application") 
objExcel.Visible = True 
objExcel.SheetsInNewWorkbook = 1 
objExcel.Workbooks.Add 
Set objSheet = objExcel.ActiveWorkbook.Worksheets(1) 

objSheet.Cells(1, 1).Value = "Operating System" 
objSheet.Cells(2, 1).Value = "Windows Server 2003" 
objSheet.Cells(3, 1).Value = "Windows XP" 
objSheet.Cells(4, 1).Value = "Windows 2000" 
objSheet.Cells(5, 1).Value = "Windows NT 4.0" 
objSheet.Cells(6, 1).Value = "Other" 

objSheet.Cells(1, 2).Value = "Number of Computers" 
objSheet.Cells(2, 2).Value = 146 
objSheet.Cells(3, 2).Value = 487 
objSheet.Cells(4, 2).Value = 211 
objSheet.Cells(5, 2).Value = 41 
objSheet.Cells(6, 2).Value = 56 

Set objRange = objSheet.UsedRange 
objRange.Select 
Set colCharts = objExcel.Charts 
colCharts.Add() 
Set objChart = colCharts(1) 
objChart.Activate 
objChart.ChartType = 70 
objChart.Elevation = 40 
objChart.Rotation = 80 

我發現keywork objChart.Location 1但創造它自己的工作表的圖表,它佔據了整個頁面。我試過0和2但都返回錯誤。我也嘗試過一個表名,但是也返回一個錯誤。然後,一旦我將它放在我想要的工作表上,我想調整整個圖表的大小並定位它。

對於設置我發現下面的大小和位置:

objExcel.ActiveChart.Width = 300 

,雖然產生錯誤。我發現上述各種類型的線但都無濟於事。上述可能工作,但我懷疑,因爲圖表是在自己的工作表上,並以「全屏」模式顯示它不能調整大小/重新定位。

回答

1

您需要將圖表添加到工作表。更改此:

Set objRange = objSheet.UsedRange 
objRange.Select 
Set colCharts = objExcel.Charts colCharts.Add() Set objChart = colCharts(1) 
objChart.Activate

到這一點:你堅持如何做某事在Excel時

Set objRange = objSheet.UsedRange 
objRange.Select 
Set objChart = objSheet.Shapes.AddChart2(262, -4102) 
objChart.Activate

錄製動作宏通常有助於。

+0

謝謝。我找到了一個辦法。 'Set objChart = objSheet.ChartObjects.Add(50,40,350,250).Chart'這似乎是你所建議的變體。 – user3017424