在Excel中设置图纸位置,调整图表大小和重新定位图表

我想在Excel中创build一个3D饼图。 现在,我有创build和设置源数据的代码,除了我的问题之外,我希望在特定工作表上使用图表,并且要调整它的大小并重新定位它。 我已经尝试过从VBA例子到VBScript例子的网上find的各种选项,但没有任何工作。 我的VBScript代码如下所示:

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 

我find了钥匙objChart.Location 1但它创build了自己的图表上的图表,它占据了整个工作表。 我已经尝试过0和2,但都返回错误。 我也试过一个表名,但是也返回一个错误。 然后,一旦我把它放在我想要的一张纸上,我想调整整个图表的大小并定位它。

随着设置的大小和位置,我发现以下几点:

 objExcel.ActiveChart.Width = 300 

虽然这会产生一个错误。 我发现上面的各种types的线,但都无济于事。 上述可能工作,但我怀疑,因为图表是在自己的工作表,并以“全屏”模式显示它不能resize/重新定位。

您需要将图表添加到工作表。 改变这个:

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

进入这个:

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

将动作logging为macros通常可以帮助您解决如何在Excel中执行某些操作。